summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/super.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-10-13 19:29:19 +0200
committerChris Mason <chris.mason@oracle.com>2009-10-13 19:35:12 +0200
commit690587d109ffe19d6743e4cc80c18b0906b7f9ff (patch)
tree788acd32c4ed1463d0166d0c45b233d96bb102e0 /fs/btrfs/super.c
parentBtrfs: avoid tree log commit when there are no changes (diff)
downloadlinux-690587d109ffe19d6743e4cc80c18b0906b7f9ff.tar.xz
linux-690587d109ffe19d6743e4cc80c18b0906b7f9ff.zip
Btrfs: streamline tree-log btree block writeout
Syncing the tree log is a 3 phase operation. 1) write and wait for all the tree log blocks for a given root. 2) write and wait for all the tree log blocks for the tree of tree log roots. 3) write and wait for the super blocks (barriers here) This isn't as efficient as it could be because there is no requirement to wait for the blocks from step one to hit the disk before we start writing the blocks from step two. This commit changes the sequence so that we don't start waiting until all the tree blocks from both steps one and two have been sent to disk. We do this by breaking up btrfs_write_wait_marked_extents into two functions, which is trivial because it was already broken up into two parts. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/super.c')
0 files changed, 0 insertions, 0 deletions