diff options
author | Josef Bacik <jbacik@fusionio.com> | 2012-10-12 15:27:49 -0400 |
---|---|---|
committer | Josef Bacik <jbacik@fusionio.com> | 2013-02-20 09:37:04 -0500 |
commit | 2ab28f322f9896782da904f5942f3873432addc8 (patch) | |
tree | d8d136d90b96f96d63262f8d2eb11680bed80aab /fs/btrfs/ctree.h | |
parent | dfd79829b709af3c2ac55951353a874ae89f41c3 (diff) | |
download | op-kernel-dev-2ab28f322f9896782da904f5942f3873432addc8.zip op-kernel-dev-2ab28f322f9896782da904f5942f3873432addc8.tar.gz |
Btrfs: wait on ordered extents at the last possible moment
Since we don't actually copy the extent information from the source tree in
the fast case we don't need to wait for ordered io to be completed in order
to fsync, we just need to wait for the io to be completed. So when we're
logging our file just attach all of the ordered extents to the log, and then
when the log syncs just wait for IO_DONE on the ordered extents and then
write the super. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 547b7b0..411c8d9 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -1623,6 +1623,9 @@ struct btrfs_root { struct list_head root_list; + spinlock_t log_extents_lock[2]; + struct list_head logged_list[2]; + spinlock_t orphan_lock; atomic_t orphan_inodes; struct btrfs_block_rsv *orphan_block_rsv; |