summaryrefslogtreecommitdiff
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-10-29 19:37:34 (GMT)
committerChris Mason <chris.mason@oracle.com>2010-10-29 19:37:34 (GMT)
commitbb9c12c945cbd1b0eaa1589546dde772ccabeeba (patch)
tree92f0bb01dce5125547c590d7c06b3e02d5c9d4fa /fs/btrfs/ctree.h
parent99d16cbcaf694c803a1b6bf7e851694ffe1d255d (diff)
downloadlinux-fsl-qoriq-bb9c12c945cbd1b0eaa1589546dde772ccabeeba.tar.xz
Btrfs: async transaction commit
Add support for an async transaction commit that is ordered such that any subsequent operations will join the following transaction, but does not wait until the current commit is fully on disk. This avoids much of the latency associated with the btrfs_commit_transaction for callers concerned with serialization and not safety. The wait_for_unblock flag controls whether we wait for the 'middle' portion of commit_transaction to complete, which is necessary if the caller expects some of the modifications contained in the commit to be available (this is the case for subvol/snapshot creation). Signed-off-by: Sage Weil <sage@newdream.net> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 88c0fb7..e5d66b1 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -901,6 +901,7 @@ struct btrfs_fs_info {
struct btrfs_transaction *running_transaction;
wait_queue_head_t transaction_throttle;
wait_queue_head_t transaction_wait;
+ wait_queue_head_t transaction_blocked_wait;
wait_queue_head_t async_submit_wait;
struct btrfs_super_block super_copy;