aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorChengguang Xu <cgxu519@icloud.com>2018-02-06 21:27:06 -0500
committerIlya Dryomov <idryomov@gmail.com>2018-04-02 04:12:45 -0400
commit7ae7a828d9ac249b175f1b6d1c21c77720cd6098 (patch)
treeb5fdf45a4e66c18ce7bfc6a946a06725e702418a /fs/ceph
parent4c069a5821ddc568e9509f49fcc9481c8a43712f (diff)
ceph: keep consistent semantic in fscache related option combination
When specifying multiple fscache related options, the result isn't always the same as option order, this fix will keep strict consistent meaning by order. Signed-off-by: Chengguang Xu <cgxu519@icloud.com> Reviewed-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index fb32379cd42c..ca8a830c07ad 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -314,9 +314,13 @@ static int parse_fsopt_token(char *c, void *private)
314 break; 314 break;
315 case Opt_fscache: 315 case Opt_fscache:
316 fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE; 316 fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
317 kfree(fsopt->fscache_uniq);
318 fsopt->fscache_uniq = NULL;
317 break; 319 break;
318 case Opt_nofscache: 320 case Opt_nofscache:
319 fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE; 321 fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
322 kfree(fsopt->fscache_uniq);
323 fsopt->fscache_uniq = NULL;
320 break; 324 break;
321 case Opt_poolperm: 325 case Opt_poolperm:
322 fsopt->flags &= ~CEPH_MOUNT_OPT_NOPOOLPERM; 326 fsopt->flags &= ~CEPH_MOUNT_OPT_NOPOOLPERM;