Btrfs: Avoid superfluous tree-log writeout
authorYan, Zheng <zheng.yan@oracle.com>
Thu, 12 Nov 2009 09:33:26 +0000 (09:33 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Aug 2010 20:19:52 +0000 (13:19 -0700)
commit4a77a16b9fb8a17affc6963c97470514df2be56e
treed77227e539b084938fc6d1662bb2c3d31acfc81d
parentf403905d43dd780060cb4d2334e0c79c8c8f8bb0
Btrfs: Avoid superfluous tree-log writeout

commit 8cef4e160d74920ad1725f58c89fd75ec4c4ac38 upstream.

We allow two log transactions at a time, but use same flag
to mark dirty tree-log btree blocks. So we may flush dirty
blocks belonging to newer log transaction when committing a
log transaction. This patch fixes the issue by using two
flags to mark dirty tree-log btree blocks.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h
fs/btrfs/tree-log.c