diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-01-05 20:58:31 -0500 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-28 16:20:19 -0500 |
commit | a258af7a3e395a1d36190c81614dca0bcb5f6012 (patch) | |
tree | bd04146ab46bd470efbc4728cd0e9c4b7b472157 /fs | |
parent | bd0330ad2174d1a5f762eee2ee58f0148f10d575 (diff) |
btrfs: Add datacow mount option.
Add datacow mount option to enable copy-on-write with
remount option.
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/super.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 76eecd13db19..6567865a2504 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -324,7 +324,7 @@ enum { | |||
324 | Opt_check_integrity, Opt_check_integrity_including_extent_data, | 324 | Opt_check_integrity, Opt_check_integrity_including_extent_data, |
325 | Opt_check_integrity_print_mask, Opt_fatal_errors, Opt_rescan_uuid_tree, | 325 | Opt_check_integrity_print_mask, Opt_fatal_errors, Opt_rescan_uuid_tree, |
326 | Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard, | 326 | Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard, |
327 | Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, | 327 | Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, Opt_datacow, |
328 | Opt_err, | 328 | Opt_err, |
329 | }; | 329 | }; |
330 | 330 | ||
@@ -335,6 +335,7 @@ static match_table_t tokens = { | |||
335 | {Opt_device, "device=%s"}, | 335 | {Opt_device, "device=%s"}, |
336 | {Opt_nodatasum, "nodatasum"}, | 336 | {Opt_nodatasum, "nodatasum"}, |
337 | {Opt_nodatacow, "nodatacow"}, | 337 | {Opt_nodatacow, "nodatacow"}, |
338 | {Opt_datacow, "datacow"}, | ||
338 | {Opt_nobarrier, "nobarrier"}, | 339 | {Opt_nobarrier, "nobarrier"}, |
339 | {Opt_barrier, "barrier"}, | 340 | {Opt_barrier, "barrier"}, |
340 | {Opt_max_inline, "max_inline=%s"}, | 341 | {Opt_max_inline, "max_inline=%s"}, |
@@ -446,6 +447,11 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) | |||
446 | btrfs_set_opt(info->mount_opt, NODATACOW); | 447 | btrfs_set_opt(info->mount_opt, NODATACOW); |
447 | btrfs_set_opt(info->mount_opt, NODATASUM); | 448 | btrfs_set_opt(info->mount_opt, NODATASUM); |
448 | break; | 449 | break; |
450 | case Opt_datacow: | ||
451 | if (btrfs_test_opt(root, NODATACOW)) | ||
452 | btrfs_info(root->fs_info, "setting datacow"); | ||
453 | btrfs_clear_opt(info->mount_opt, NODATACOW); | ||
454 | break; | ||
449 | case Opt_compress_force: | 455 | case Opt_compress_force: |
450 | case Opt_compress_force_type: | 456 | case Opt_compress_force_type: |
451 | compress_force = true; | 457 | compress_force = true; |