Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e07a2ade authored by Qu Wenruo's avatar Qu Wenruo Committed by Chris Mason
Browse files

btrfs: Add nodiscard mount option.



Add nodiscard mount option to disable discard with remount option.

Signed-off-by: default avatarQu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.cz>
Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
Signed-off-by: default avatarChris Mason <clm@fb.com>
parent fc0ca9af
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -98,9 +98,12 @@ Options with (*) are default options and will not show in the mount options.
	can be avoided.  Especially useful when trying to mount a multi-device
	setup as root.  May be specified multiple times for multiple devices.

  nodiscard(*)
  discard
	Issue frequent commands to let the block device reclaim space freed by
	the filesystem.  This is useful for SSD devices, thinly provisioned
	Disable/enable discard mount option.
	Discard issues frequent commands to let the block device reclaim space
	freed by the filesystem.
	This is useful for SSD devices, thinly provisioned
	LUNs and virtual machine images, but may have a significant
	performance impact.  (The fstrim command is also available to
	initiate batch trims from userspace).
+5 −1
Original line number Diff line number Diff line
@@ -323,7 +323,7 @@ enum {
	Opt_no_space_cache, Opt_recovery, Opt_skip_balance,
	Opt_check_integrity, Opt_check_integrity_including_extent_data,
	Opt_check_integrity_print_mask, Opt_fatal_errors, Opt_rescan_uuid_tree,
	Opt_commit_interval, Opt_barrier, Opt_nodefrag,
	Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard,
	Opt_err,
};

@@ -351,6 +351,7 @@ static match_table_t tokens = {
	{Opt_flushoncommit, "flushoncommit"},
	{Opt_ratio, "metadata_ratio=%d"},
	{Opt_discard, "discard"},
	{Opt_nodiscard, "nodiscard"},
	{Opt_space_cache, "space_cache"},
	{Opt_clear_cache, "clear_cache"},
	{Opt_user_subvol_rm_allowed, "user_subvol_rm_allowed"},
@@ -575,6 +576,9 @@ int btrfs_parse_options(struct btrfs_root *root, char *options)
		case Opt_discard:
			btrfs_set_opt(info->mount_opt, DISCARD);
			break;
		case Opt_nodiscard:
			btrfs_clear_opt(info->mount_opt, DISCARD);
			break;
		case Opt_space_cache:
			btrfs_set_opt(info->mount_opt, SPACE_CACHE);
			break;