]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit924997080fb29df8c0b0e199135fd7dbee0379de
treeb30f8ac1bab7f793f7c3c999e9df59818578e6d9
parent9a11cf969d2cc6530ceaa1fd8c2abeb668736ffe
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