aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/super.c
diff options
context:
space:
mode:
authorRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2010-07-05 01:27:04 -0400
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2010-07-22 21:02:12 -0400
commit802d31775404ee335ca1e97a82e1e706a4c843be (patch)
tree3753263ea97748e6c2b01f29fb7f81c19381eb7b /fs/nilfs2/super.c
parent773bc4f3b6898634a80a41c72a1f34cb89992dcd (diff)
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: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Diffstat (limited to 'fs/nilfs2/super.c')
-rw-r--r--fs/nilfs2/super.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index 13b0e955c028..9da12211aac1 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -604,7 +604,7 @@ static const struct export_operations nilfs_export_ops = {
604enum { 604enum {
605 Opt_err_cont, Opt_err_panic, Opt_err_ro, 605 Opt_err_cont, Opt_err_panic, Opt_err_ro,
606 Opt_barrier, Opt_nobarrier, Opt_snapshot, Opt_order, Opt_norecovery, 606 Opt_barrier, Opt_nobarrier, Opt_snapshot, Opt_order, Opt_norecovery,
607 Opt_discard, Opt_err, 607 Opt_discard, Opt_nodiscard, Opt_err,
608}; 608};
609 609
610static match_table_t tokens = { 610static match_table_t tokens = {
@@ -617,6 +617,7 @@ static match_table_t tokens = {
617 {Opt_order, "order=%s"}, 617 {Opt_order, "order=%s"},
618 {Opt_norecovery, "norecovery"}, 618 {Opt_norecovery, "norecovery"},
619 {Opt_discard, "discard"}, 619 {Opt_discard, "discard"},
620 {Opt_nodiscard, "nodiscard"},
620 {Opt_err, NULL} 621 {Opt_err, NULL}
621}; 622};
622 623
@@ -676,6 +677,9 @@ static int parse_options(char *options, struct super_block *sb)
676 case Opt_discard: 677 case Opt_discard:
677 nilfs_set_opt(sbi, DISCARD); 678 nilfs_set_opt(sbi, DISCARD);
678 break; 679 break;
680 case Opt_nodiscard:
681 nilfs_clear_opt(sbi, DISCARD);
682 break;
679 default: 683 default:
680 printk(KERN_ERR 684 printk(KERN_ERR
681 "NILFS: Unrecognized mount option \"%s\"\n", p); 685 "NILFS: Unrecognized mount option \"%s\"\n", p);