ext4: fix xattr deadlock
authorKalpak Shah <kalpak.shah@sun.com>
Thu, 9 Oct 2008 03:21:54 +0000 (23:21 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 9 Oct 2008 03:21:54 +0000 (23:21 -0400)
commit4d20c685fa365766a8f13584b4c8178a15ab7103
tree7a2aaf1b27703818d67d1d7cf544dc72455638d1
parent45a90bfd90c1215bf824c0f705b409723f52361b
ext4: fix xattr deadlock

ext4_xattr_set_handle() eventually ends up calling
ext4_mark_inode_dirty() which tries to expand the inode by shifting
the EAs.  This leads to the xattr_sem being downed again and leading
to a deadlock.

This patch makes sure that if ext4_xattr_set_handle() is in the
call-chain, ext4_mark_inode_dirty() will not expand the inode.

Signed-off-by: Kalpak Shah <kalpak.shah@sun.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/xattr.c