From e4ef652d42286eb7a6311cc6905e1fd24f12748d Mon Sep 17 00:00:00 2001 From: tl Date: Tue, 3 Sep 2024 16:21:47 +0800 Subject: [PATCH] sharefs add override and override_support Signed-off-by: tl --- fs/sharefs/sharefs.h | 2 ++ fs/sharefs/super.c | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/fs/sharefs/sharefs.h b/fs/sharefs/sharefs.h index 143f047b235f..18aa5e6d2066 100644 --- a/fs/sharefs/sharefs.h +++ b/fs/sharefs/sharefs.h @@ -63,6 +63,8 @@ struct sharefs_sb_info { struct super_block *lower_sb; /* multi user */ unsigned int user_id; + bool override; + bool override_support_delete; }; /* operations vectors defined in specific files */ diff --git a/fs/sharefs/super.c b/fs/sharefs/super.c index bbe65944647f..4db8f9154235 100644 --- a/fs/sharefs/super.c +++ b/fs/sharefs/super.c @@ -13,12 +13,16 @@ enum { OPT_USER_ID, - OPT_ERR, + OPT_OVERRIDE, + OPT_OVERRIDE_SUPPORT_DELETE, + OPT_ERR, }; static match_table_t sharefs_tokens = { { OPT_USER_ID, "user_id=%s" }, - { OPT_ERR, NULL } + { OPT_OVERRIDE, "override" }, + { OPT_OVERRIDE_SUPPORT_DELETE, "override_support_delete" }, + { OPT_ERR, NULL } }; int sharefs_parse_options(struct sharefs_sb_info *sbi, const char *data) @@ -58,6 +62,12 @@ int sharefs_parse_options(struct sharefs_sb_info *sbi, const char *data) sbi->user_id = user_id; } break; + case OPT_OVERRIDE: + sbi->override = true; + break; + case OPT_OVERRIDE_SUPPORT_DELETE: + sbi->override_support_delete = true; + break; default: err = -EINVAL; goto out; -- Gitee