]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: fix block_rsv and space_info lock ordering
authorStefan Behrens <sbehrens@giantdisaster.de>
Fri, 27 Apr 2012 16:41:46 +0000 (12:41 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 27 Apr 2012 17:55:14 +0000 (13:55 -0400)
commit1fa12b9e0dccc7ee845bd03350afbc75630157ca
tree9ba8e3c95cc044461eab17dfba50515535ca2a25
parenta14120cfa86f1779debce653df91a14e8e0a2d8f
Btrfs: fix block_rsv and space_info lock ordering

may_commit_transaction() calls
        spin_lock(&space_info->lock);
        spin_lock(&delayed_rsv->lock);
and update_global_block_rsv() calls
        spin_lock(&block_rsv->lock);
        spin_lock(&sinfo->lock);

Lockdep complains about this at run time.
Everywhere except in update_global_block_rsv(), the space_info lock is
the outer lock, therefore the locking order in update_global_block_rsv()
is changed.

Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent-tree.c