summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.cz>2013-08-01 18:14:52 +0200
committerChris Mason <chris.mason@fusionio.com>2013-09-01 08:04:51 -0400
commit8b87dc17fbc7443bf4c6c096279c35e89fb51326 (patch)
treeaa53657898d003b48135fe4b959c97b48e591339 /fs/btrfs/ctree.h
parent9ec726775188906192f78ab9187640afd81ab996 (diff)
downloadlinux-8b87dc17fbc7443bf4c6c096279c35e89fb51326.tar.gz
linux-8b87dc17fbc7443bf4c6c096279c35e89fb51326.tar.bz2
linux-8b87dc17fbc7443bf4c6c096279c35e89fb51326.zip
btrfs: add mount option to set commit interval
I'ts hardcoded to 30 seconds which is fine for most users. Higher values defer data being synced to permanent storage with obvious consequences when the system crashes. The upper bound is not forced, but a warning is printed if it's more than 300 seconds (5 minutes). Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r--fs/btrfs/ctree.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index c17acbce5bc3..0632832d4446 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -1351,6 +1351,7 @@ struct btrfs_fs_info {
u64 last_trans_log_full_commit;
unsigned long mount_opt;
unsigned long compress_type:4;
+ int commit_interval;
/*
* It is a suggestive number, the read side is safe even it gets a
* wrong number because we will write out the data into a regular
@@ -1969,6 +1970,8 @@ struct btrfs_ioctl_defrag_range_args {
#define BTRFS_MOUNT_CHECK_INTEGRITY_INCLUDING_EXTENT_DATA (1 << 21)
#define BTRFS_MOUNT_PANIC_ON_FATAL_ERROR (1 << 22)
+#define BTRFS_DEFAULT_COMMIT_INTERVAL (30)
+
#define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt)
#define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt)
#define btrfs_raw_test_opt(o, opt) ((o) & BTRFS_MOUNT_##opt)