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

Commit 802d3177 authored by Ryusuke Konishi's avatar Ryusuke Konishi
Browse files

nilfs2: add nodiscard mount option



Nilfs has "discard" mount option which issues discard/TRIM commands to
underlying block device, but it lacks a complementary option and has
no way to disable the feature through remount.

This adds "nodiscard" option to resolve this imbalance.

Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
parent 773bc4f3
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -77,9 +77,10 @@ norecovery Disable recovery of the filesystem on mount.
			This disables every write access on the device for
			read-only mounts or snapshots.  This option will fail
			for r/w mounts on an unclean volume.
discard			Issue discard/TRIM commands to the underlying block
			device when blocks are freed.  This is useful for SSD
			devices and sparse/thinly-provisioned LUNs.
discard			This enables/disables the use of discard/TRIM commands.
nodiscard(*)		The discard/TRIM commands are sent to the underlying
			block device when blocks are freed.  This is useful
			for SSD devices and sparse/thinly-provisioned LUNs.

NILFS2 usage
============
+5 −1
Original line number Diff line number Diff line
@@ -604,7 +604,7 @@ static const struct export_operations nilfs_export_ops = {
enum {
	Opt_err_cont, Opt_err_panic, Opt_err_ro,
	Opt_barrier, Opt_nobarrier, Opt_snapshot, Opt_order, Opt_norecovery,
	Opt_discard, Opt_err,
	Opt_discard, Opt_nodiscard, Opt_err,
};

static match_table_t tokens = {
@@ -617,6 +617,7 @@ static match_table_t tokens = {
	{Opt_order, "order=%s"},
	{Opt_norecovery, "norecovery"},
	{Opt_discard, "discard"},
	{Opt_nodiscard, "nodiscard"},
	{Opt_err, NULL}
};

@@ -676,6 +677,9 @@ static int parse_options(char *options, struct super_block *sb)
		case Opt_discard:
			nilfs_set_opt(sbi, DISCARD);
			break;
		case Opt_nodiscard:
			nilfs_clear_opt(sbi, DISCARD);
			break;
		default:
			printk(KERN_ERR
			       "NILFS: Unrecognized mount option \"%s\"\n", p);