]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: async transaction commit
authorSage Weil <sage@newdream.net>
Fri, 29 Oct 2010 19:37:34 +0000 (15:37 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 29 Oct 2010 19:37:34 +0000 (15:37 -0400)
commit9859f8d4541d4090f85a50c681149a22108af0c5
tree92f0bb01dce5125547c590d7c06b3e02d5c9d4fa
parentd45f2ac527cb71f3ee155d1e5fe9b2dad7d284e3
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>
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h