]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ext4: fix xattr deadlock
authorKalpak Shah <kalpak.shah@sun.com>
Sun, 16 Nov 2008 16:05:31 +0000 (11:05 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 5 Dec 2008 18:55:41 +0000 (10:55 -0800)
commit8aa3d3c9f2a98a7d30f6aca9fa7667105ba8eebe
treecb47715d89a381cbc7763e647addb65cd74da270
parent72966ac2446af2f7feeb7e773395cb17e9e8d325
ext4: fix xattr deadlock

(cherry picked from commit 4d20c685fa365766a8f13584b4c8178a15ab7103)

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ext4/xattr.c