diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-01-05 20:58:32 -0500 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-28 16:20:20 -0500 |
commit | d399167d88ea53590d6c0850b2d5534cbd21da02 (patch) | |
tree | ad340d5afe66275fc2d5c0c86998ba2a0a1d9ab6 /fs | |
parent | a258af7a3e395a1d36190c81614dca0bcb5f6012 (diff) |
btrfs: Add datasum mount option.
Add datasum mount option to enable checksum 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 | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index 6567865a2504..e84e6cb57526 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c | |||
@@ -325,6 +325,7 @@ enum { | |||
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, Opt_datacow, | 327 | Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, Opt_datacow, |
328 | Opt_datasum, | ||
328 | Opt_err, | 329 | Opt_err, |
329 | }; | 330 | }; |
330 | 331 | ||
@@ -334,6 +335,7 @@ static match_table_t tokens = { | |||
334 | {Opt_subvolid, "subvolid=%s"}, | 335 | {Opt_subvolid, "subvolid=%s"}, |
335 | {Opt_device, "device=%s"}, | 336 | {Opt_device, "device=%s"}, |
336 | {Opt_nodatasum, "nodatasum"}, | 337 | {Opt_nodatasum, "nodatasum"}, |
338 | {Opt_datasum, "datasum"}, | ||
337 | {Opt_nodatacow, "nodatacow"}, | 339 | {Opt_nodatacow, "nodatacow"}, |
338 | {Opt_datacow, "datacow"}, | 340 | {Opt_datacow, "datacow"}, |
339 | {Opt_nobarrier, "nobarrier"}, | 341 | {Opt_nobarrier, "nobarrier"}, |
@@ -434,6 +436,14 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) | |||
434 | btrfs_info(root->fs_info, "setting nodatasum"); | 436 | btrfs_info(root->fs_info, "setting nodatasum"); |
435 | btrfs_set_opt(info->mount_opt, NODATASUM); | 437 | btrfs_set_opt(info->mount_opt, NODATASUM); |
436 | break; | 438 | break; |
439 | case Opt_datasum: | ||
440 | if (btrfs_test_opt(root, NODATACOW)) | ||
441 | btrfs_info(root->fs_info, "setting datasum, datacow enabled"); | ||
442 | else | ||
443 | btrfs_info(root->fs_info, "setting datasum"); | ||
444 | btrfs_clear_opt(info->mount_opt, NODATACOW); | ||
445 | btrfs_clear_opt(info->mount_opt, NODATASUM); | ||
446 | break; | ||
437 | case Opt_nodatacow: | 447 | case Opt_nodatacow: |
438 | if (!btrfs_test_opt(root, COMPRESS) || | 448 | if (!btrfs_test_opt(root, COMPRESS) || |
439 | !btrfs_test_opt(root, FORCE_COMPRESS)) { | 449 | !btrfs_test_opt(root, FORCE_COMPRESS)) { |