UPSTREAM: f2fs: pass sbi rather than sb to quota qf_name helpers
With the new mount api we will not have the superblock available during option parsing. Prepare for this by passing *sbi rather than *sb. For now, we are parsing after fill_super has been done, so sbi->sb will exist. Under the new mount API this will require more care, but do the simple change for now. Change-Id: I86d3f6c77b0fecd986902640c46eaf9a01e8c9f3 Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> (cherry picked from commit b7de231b9df4eafc87ec693312c8889fc20f4e55)
This commit is contained in:
committed by
Carlos Llamas
parent
f187187670
commit
d5e2b85d0d
+10
-10
@@ -390,10 +390,10 @@ static void init_once(void *foo)
|
||||
#ifdef CONFIG_QUOTA
|
||||
static const char * const quotatypes[] = INITQFNAMES;
|
||||
#define QTYPE2NAME(t) (quotatypes[t])
|
||||
static int f2fs_set_qf_name(struct super_block *sb, int qtype,
|
||||
static int f2fs_set_qf_name(struct f2fs_sb_info *sbi, int qtype,
|
||||
substring_t *args)
|
||||
{
|
||||
struct f2fs_sb_info *sbi = F2FS_SB(sb);
|
||||
struct super_block *sb = sbi->sb;
|
||||
char *qname;
|
||||
int ret = -EINVAL;
|
||||
|
||||
@@ -431,9 +431,9 @@ errout:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int f2fs_clear_qf_name(struct super_block *sb, int qtype)
|
||||
static int f2fs_clear_qf_name(struct f2fs_sb_info *sbi, int qtype)
|
||||
{
|
||||
struct f2fs_sb_info *sbi = F2FS_SB(sb);
|
||||
struct super_block *sb = sbi->sb;
|
||||
|
||||
if (sb_any_quota_loaded(sb) && F2FS_OPTION(sbi).s_qf_names[qtype]) {
|
||||
f2fs_err(sbi, "Cannot change journaled quota options when quota turned on");
|
||||
@@ -938,32 +938,32 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
|
||||
set_opt(sbi, PRJQUOTA);
|
||||
break;
|
||||
case Opt_usrjquota:
|
||||
ret = f2fs_set_qf_name(sb, USRQUOTA, &args[0]);
|
||||
ret = f2fs_set_qf_name(sbi, USRQUOTA, &args[0]);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case Opt_grpjquota:
|
||||
ret = f2fs_set_qf_name(sb, GRPQUOTA, &args[0]);
|
||||
ret = f2fs_set_qf_name(sbi, GRPQUOTA, &args[0]);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case Opt_prjjquota:
|
||||
ret = f2fs_set_qf_name(sb, PRJQUOTA, &args[0]);
|
||||
ret = f2fs_set_qf_name(sbi, PRJQUOTA, &args[0]);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case Opt_offusrjquota:
|
||||
ret = f2fs_clear_qf_name(sb, USRQUOTA);
|
||||
ret = f2fs_clear_qf_name(sbi, USRQUOTA);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case Opt_offgrpjquota:
|
||||
ret = f2fs_clear_qf_name(sb, GRPQUOTA);
|
||||
ret = f2fs_clear_qf_name(sbi, GRPQUOTA);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
case Opt_offprjjquota:
|
||||
ret = f2fs_clear_qf_name(sb, PRJQUOTA);
|
||||
ret = f2fs_clear_qf_name(sbi, PRJQUOTA);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user