diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2018-06-03 04:42:34 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2018-06-05 20:50:48 -0400 |
commit | aa09f6a8c3c0e000f62925b61e90f4f0828dc8af (patch) | |
tree | ed72b07db39cfdfebd476a6fc2e78c0abf902088 | |
parent | 4679aa72da5fef47785350b2706c8f76ea8c22ec (diff) |
bcachefs: add a discard mount option
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r-- | fs/bcachefs/opts.h | 3 | ||||
-rw-r--r-- | fs/bcachefs/super.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/fs/bcachefs/opts.h b/fs/bcachefs/opts.h index e7ab8870d3ac..f476033e707f 100644 --- a/fs/bcachefs/opts.h +++ b/fs/bcachefs/opts.h @@ -137,6 +137,9 @@ enum opt_type { BCH_OPT(degraded, u8, OPT_MOUNT, \ OPT_BOOL(), \ NO_SB_OPT, false) \ + BCH_OPT(discard, u8, OPT_MOUNT, \ + OPT_BOOL(), \ + NO_SB_OPT, false) \ BCH_OPT(verbose_recovery, u8, OPT_MOUNT, \ OPT_BOOL(), \ NO_SB_OPT, false) \ diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 1eab7c77f89e..1ed8478f2e4c 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -1091,6 +1091,9 @@ static struct bch_dev *__bch2_dev_alloc(struct bch_fs *c, ca->mi = bch2_mi_to_cpu(member); ca->uuid = member->uuid; + if (opt_defined(c->opts, discard)) + ca->mi.discard = opt_get(c->opts, discard); + if (percpu_ref_init(&ca->ref, bch2_dev_ref_complete, 0, GFP_KERNEL) || percpu_ref_init(&ca->io_ref, bch2_dev_io_ref_complete, |