summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/btrfs_inode.h
diff options
context:
space:
mode:
authorJosef Bacik <jbacik@fusionio.com>2012-11-16 19:56:32 +0100
committerChris Mason <chris.mason@fusionio.com>2012-12-17 02:46:22 +0100
commitb812ce28796f746f14ba6cc451250c422db447b2 (patch)
tree81f116613d7642b80a5a23668b7642d7931ad672 /fs/btrfs/btrfs_inode.h
parentBtrfs: don't bother copying if we're only logging the inode (diff)
downloadlinux-b812ce28796f746f14ba6cc451250c422db447b2.tar.xz
linux-b812ce28796f746f14ba6cc451250c422db447b2.zip
Btrfs: inline csums if we're fsyncing
The tree logging stuff needs the csums to be on the ordered extents in order to log them properly, so mark that we're sync and inline the csum creation so we don't have to wait on the csumming to be done when logging extents that are still in flight. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/btrfs_inode.h')
-rw-r--r--fs/btrfs/btrfs_inode.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
index 2411baf35220..2a8c242bc4f5 100644
--- a/fs/btrfs/btrfs_inode.h
+++ b/fs/btrfs/btrfs_inode.h
@@ -91,6 +91,9 @@ struct btrfs_inode {
unsigned long runtime_flags;
+ /* Keep track of who's O_SYNC/fsycing currently */
+ atomic_t sync_writers;
+
/* full 64 bit generation number, struct vfs_inode doesn't have a big
* enough field for this.
*/