mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 07:31:41 +00:00
ceph: return -EINVAL if given fsc mount option on kernel w/o support
If someone requests fscache on the mount, and the kernel doesn't support it, it should fail the mount. [ Drop ceph prefix -- it's provided by pr_err. ] Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
a3a0819388
commit
ff29fde84d
1 changed files with 10 additions and 1 deletions
|
@ -268,6 +268,7 @@ static int parse_fsopt_token(char *c, void *private)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Opt_fscache_uniq:
|
case Opt_fscache_uniq:
|
||||||
|
#ifdef CONFIG_CEPH_FSCACHE
|
||||||
kfree(fsopt->fscache_uniq);
|
kfree(fsopt->fscache_uniq);
|
||||||
fsopt->fscache_uniq = kstrndup(argstr[0].from,
|
fsopt->fscache_uniq = kstrndup(argstr[0].from,
|
||||||
argstr[0].to-argstr[0].from,
|
argstr[0].to-argstr[0].from,
|
||||||
|
@ -276,7 +277,10 @@ static int parse_fsopt_token(char *c, void *private)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
|
fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
|
||||||
break;
|
break;
|
||||||
/* misc */
|
#else
|
||||||
|
pr_err("fscache support is disabled\n");
|
||||||
|
return -EINVAL;
|
||||||
|
#endif
|
||||||
case Opt_wsize:
|
case Opt_wsize:
|
||||||
if (intval < (int)PAGE_SIZE || intval > CEPH_MAX_WRITE_SIZE)
|
if (intval < (int)PAGE_SIZE || intval > CEPH_MAX_WRITE_SIZE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -353,10 +357,15 @@ static int parse_fsopt_token(char *c, void *private)
|
||||||
fsopt->flags &= ~CEPH_MOUNT_OPT_INO32;
|
fsopt->flags &= ~CEPH_MOUNT_OPT_INO32;
|
||||||
break;
|
break;
|
||||||
case Opt_fscache:
|
case Opt_fscache:
|
||||||
|
#ifdef CONFIG_CEPH_FSCACHE
|
||||||
fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
|
fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
|
||||||
kfree(fsopt->fscache_uniq);
|
kfree(fsopt->fscache_uniq);
|
||||||
fsopt->fscache_uniq = NULL;
|
fsopt->fscache_uniq = NULL;
|
||||||
break;
|
break;
|
||||||
|
#else
|
||||||
|
pr_err("fscache support is disabled\n");
|
||||||
|
return -EINVAL;
|
||||||
|
#endif
|
||||||
case Opt_nofscache:
|
case Opt_nofscache:
|
||||||
fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
|
fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
|
||||||
kfree(fsopt->fscache_uniq);
|
kfree(fsopt->fscache_uniq);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue