btrfs_start_transaction: wait for commits in progress to finish
authorChris Mason <chris.mason@oracle.com>
Thu, 17 Jul 2008 16:54:14 +0000 (12:54 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 25 Sep 2008 15:04:04 +0000 (11:04 -0400)
commitf9295749388f82c8d2f485e99c72cd7c7876a99b
tree5089b0f723583d262116775b8b9fb5b4b8d291e0
parentdbe674a99c8af088faa4c95eddaeb271a3140ab6
btrfs_start_transaction: wait for commits in progress to finish

btrfs_commit_transaction has to loop waiting for any writers in the
transaction to finish before it can proceed.  btrfs_start_transaction
should be polite and not join a transaction that is in the process
of being finished off.

There are a few places that can't wait, basically the ones doing IO that
might be needed to finish the transaction.  For them, btrfs_join_transaction
is added.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/file.c
fs/btrfs/inode.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h