ocfs2: Use __dquot_transfer to avoid lock inversion
authorJan Kara <jack@suse.cz>
Thu, 13 May 2010 18:18:45 +0000 (20:18 +0200)
committerJan Kara <jack@suse.cz>
Fri, 21 May 2010 17:30:48 +0000 (19:30 +0200)
commit52a9ee281cfb26fffce1d6c409fb4b1f4aa8a766
treeb30f8ac1bab7f793f7c3c999e9df59818578e6d9
parent741e128933448e589a85286e535078b24f4cf568
ocfs2: Use __dquot_transfer to avoid lock inversion

dquot_transfer() acquires own references to dquots via dqget(). Thus it waits
for dq_lock which creates a lock inversion because dq_lock ranks above
transaction start but transaction is already started in ocfs2_setattr(). Fix
the problem by passing own references directly to __dquot_transfer.

Acked-by: Joel Becker <Joel.Becker@oracle.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ocfs2/file.c