]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: explicitly mark the tree log root for writeback
authorChris Mason <chris.mason@oracle.com>
Fri, 9 Jan 2009 18:14:17 +0000 (13:14 -0500)
committerChris Mason <chris.mason@oracle.com>
Fri, 9 Jan 2009 18:14:17 +0000 (13:14 -0500)
commit3a66ec6fe448c6b3d5eaf3577447d9d3b84a9c69
tree067fb82bb4cabba35429b28c9e43f9614aea6274
parentd717fbbf0b6017463014fcc26a6c6ebe96bc2559
Btrfs: explicitly mark the tree log root for writeback

Each subvolume has an extent_state_tree used to mark metadata
that needs to be sent to disk while syncing the tree.  This is
used in addition to the dirty bits on the pages themselves so that
a single subvolume can be sent to disk efficiently in disk order.

Normally this marking happens in btrfs_alloc_free_block, which also does
special recording of dirty tree blocks for the tree log roots.

Yan Zheng noticed that when the root of the log tree is allocated, it is added
to the wrong writeback list.  The fix used here is to explicitly set
it dirty as part of tree log creation.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/tree-log.c