summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-10-13 12:55:09 -0400
committerChris Mason <chris.mason@oracle.com>2009-10-13 13:35:11 -0400
commit4722607db6a78bd7748c51fa4c8d7371da797254 (patch)
tree83c483a3f55d3f024863e1e33c3ac123e688c868
parentac6889cbb254be1ffea376bea4a96ce9be0e0ed0 (diff)
downloadlinux-3.10-4722607db6a78bd7748c51fa4c8d7371da797254.tar.gz
linux-3.10-4722607db6a78bd7748c51fa4c8d7371da797254.tar.bz2
linux-3.10-4722607db6a78bd7748c51fa4c8d7371da797254.zip
Btrfs: only write one super copy during fsync
During a tree-log commit for fsync, we've been writing at least two copies of the super block and forcing them to disk. The other filesystems write only one, and this change brings us on par with them. A full transaction commit will write all the super copies, so we still have redundant info written on a regular basis. Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r--fs/btrfs/tree-log.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 78f6254ac2d..6d9ec285644 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -2092,7 +2092,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
* the running transaction open, so a full commit can't hop
* in and cause problems either.
*/
- write_ctree_super(trans, root->fs_info->tree_root, 2);
+ write_ctree_super(trans, root->fs_info->tree_root, 1);
ret = 0;
out_wake_log_root: