diff options
-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, |