From: Zheng Yan Date: Fri, 26 Sep 2008 14:05:38 +0000 (-0400) Subject: Btrfs: extent_map and data=ordered fixes for space balancing X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~21 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b21f2ed3f2947b5195b65c9fdbdd9e52904cc03;p=pandora-kernel.git Btrfs: extent_map and data=ordered fixes for space balancing * Add an EXTENT_BOUNDARY state bit to keep the writepage code from merging data extents that are in the process of being relocated. This allows us to do accounting for them properly. * The balancing code relocates data extents indepdent of the underlying inode. The extent_map code was modified to properly account for things moving around (invalidating extent_map caches in the inode). * Don't take the drop_mutex in the create_subvol ioctl. It isn't required. * Fix walking of the ordered extent list to avoid races with sys_unlink * Change the lock ordering rules. Transaction start goes outside the drop_mutex. This allows btrfs_commit_transaction to directly drop the relocation trees. Signed-off-by: Chris Mason --- Reading git-diff-tree failed