|
@@ -42,6 +42,7 @@ static struct kset *f2fs_kset;
|
|
|
enum {
|
|
|
Opt_gc_background,
|
|
|
Opt_disable_roll_forward,
|
|
|
+ Opt_norecovery,
|
|
|
Opt_discard,
|
|
|
Opt_noheap,
|
|
|
Opt_user_xattr,
|
|
@@ -62,6 +63,7 @@ enum {
|
|
|
static match_table_t f2fs_tokens = {
|
|
|
{Opt_gc_background, "background_gc=%s"},
|
|
|
{Opt_disable_roll_forward, "disable_roll_forward"},
|
|
|
+ {Opt_norecovery, "norecovery"},
|
|
|
{Opt_discard, "discard"},
|
|
|
{Opt_noheap, "no_heap"},
|
|
|
{Opt_user_xattr, "user_xattr"},
|
|
@@ -287,6 +289,12 @@ static int parse_options(struct super_block *sb, char *options)
|
|
|
case Opt_disable_roll_forward:
|
|
|
set_opt(sbi, DISABLE_ROLL_FORWARD);
|
|
|
break;
|
|
|
+ case Opt_norecovery:
|
|
|
+ /* this option mounts f2fs with ro */
|
|
|
+ set_opt(sbi, DISABLE_ROLL_FORWARD);
|
|
|
+ if (!f2fs_readonly(sb))
|
|
|
+ return -EINVAL;
|
|
|
+ break;
|
|
|
case Opt_discard:
|
|
|
set_opt(sbi, DISCARD);
|
|
|
break;
|