diff options
author | Jan Kara <jack@suse.cz> | 2009-08-06 23:29:34 +0200 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-08-10 12:20:22 -0700 |
commit | b409d7a0ab46fe530efe52734984b4ed5d46c3eb (patch) | |
tree | f9f7861ff8b943ee905dc16a8290cac757df391e /fs/locks.c | |
parent | 8a57a9dda760ea7845390f1cd36f3eb2a49391d8 (diff) |
ocfs2: Fix possible deadlock when extending quota file
In OCFS2, allocator locks rank above transaction start. Thus we
cannot extend quota file from inside a transaction less we could
deadlock.
We solve the problem by starting transaction not already in
ocfs2_acquire_dquot() but only in ocfs2_local_read_dquot() and
ocfs2_global_read_dquot() and we allocate blocks to quota files before starting
the transaction. In case we crash, quota files will just have a few blocks
more but that's no problem since we just use them next time we extend the
quota file.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/locks.c')
0 files changed, 0 insertions, 0 deletions