* [PATCH] ceph: remove CEPH_MOUNT_OPT_FSCACHE flag
@ 2020-02-12 8:24 xiubli
2020-02-12 9:59 ` Ilya Dryomov
0 siblings, 1 reply; 3+ messages in thread
From: xiubli @ 2020-02-12 8:24 UTC (permalink / raw)
To: jlayton; +Cc: sage, idryomov, zyan, pdonnell, ceph-devel, Xiubo Li
From: Xiubo Li <xiubli@redhat.com>
Since we can figure out whether the fscache is enabled or not by
using the fscache_uniq and this flag is redundant.
Signed-off-by: Xiubo Li <xiubli@redhat.com>
---
fs/ceph/super.c | 9 +++------
fs/ceph/super.h | 9 ++++-----
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index 48f86eb82b9b..8df506dd9039 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -383,10 +383,7 @@ static int ceph_parse_mount_param(struct fs_context *fc,
#ifdef CONFIG_CEPH_FSCACHE
kfree(fsopt->fscache_uniq);
fsopt->fscache_uniq = NULL;
- if (result.negated) {
- fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
- } else {
- fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
+ if (!result.negated) {
fsopt->fscache_uniq = param->string;
param->string = NULL;
}
@@ -605,7 +602,7 @@ static int ceph_show_options(struct seq_file *m, struct dentry *root)
seq_puts(m, ",nodcache");
if (fsopt->flags & CEPH_MOUNT_OPT_INO32)
seq_puts(m, ",ino32");
- if (fsopt->flags & CEPH_MOUNT_OPT_FSCACHE) {
+ if (fsopt->fscache_uniq) {
seq_show_option(m, "fsc", fsopt->fscache_uniq);
}
if (fsopt->flags & CEPH_MOUNT_OPT_NOPOOLPERM)
@@ -969,7 +966,7 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
goto out;
/* setup fscache */
- if (fsc->mount_options->flags & CEPH_MOUNT_OPT_FSCACHE) {
+ if (fsc->mount_options->fscache_uniq) {
err = ceph_fscache_register_fs(fsc, fc);
if (err < 0)
goto out;
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index ebc25072b19b..ad44b98f3c3b 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -38,11 +38,10 @@
#define CEPH_MOUNT_OPT_NOASYNCREADDIR (1<<7) /* no dcache readdir */
#define CEPH_MOUNT_OPT_INO32 (1<<8) /* 32 bit inos */
#define CEPH_MOUNT_OPT_DCACHE (1<<9) /* use dcache for readdir etc */
-#define CEPH_MOUNT_OPT_FSCACHE (1<<10) /* use fscache */
-#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<11) /* no pool permission check */
-#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<12) /* mount waits if no mds is up */
-#define CEPH_MOUNT_OPT_NOQUOTADF (1<<13) /* no root dir quota in statfs */
-#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<14) /* don't use RADOS 'copy-from' op */
+#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<10) /* no pool permission check */
+#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<11) /* mount waits if no mds is up */
+#define CEPH_MOUNT_OPT_NOQUOTADF (1<<12) /* no root dir quota in statfs */
+#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<13) /* don't use RADOS 'copy-from' op */
#define CEPH_MOUNT_OPT_DEFAULT \
(CEPH_MOUNT_OPT_DCACHE | \
--
2.21.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ceph: remove CEPH_MOUNT_OPT_FSCACHE flag
2020-02-12 8:24 [PATCH] ceph: remove CEPH_MOUNT_OPT_FSCACHE flag xiubli
@ 2020-02-12 9:59 ` Ilya Dryomov
2020-02-12 10:46 ` Xiubo Li
0 siblings, 1 reply; 3+ messages in thread
From: Ilya Dryomov @ 2020-02-12 9:59 UTC (permalink / raw)
To: Xiubo Li
Cc: Jeff Layton, Sage Weil, Yan, Zheng, Patrick Donnelly, Ceph Development
On Wed, Feb 12, 2020 at 9:24 AM <xiubli@redhat.com> wrote:
>
> From: Xiubo Li <xiubli@redhat.com>
>
> Since we can figure out whether the fscache is enabled or not by
> using the fscache_uniq and this flag is redundant.
>
> Signed-off-by: Xiubo Li <xiubli@redhat.com>
> ---
> fs/ceph/super.c | 9 +++------
> fs/ceph/super.h | 9 ++++-----
> 2 files changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
> index 48f86eb82b9b..8df506dd9039 100644
> --- a/fs/ceph/super.c
> +++ b/fs/ceph/super.c
> @@ -383,10 +383,7 @@ static int ceph_parse_mount_param(struct fs_context *fc,
> #ifdef CONFIG_CEPH_FSCACHE
> kfree(fsopt->fscache_uniq);
> fsopt->fscache_uniq = NULL;
> - if (result.negated) {
> - fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
> - } else {
> - fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
> + if (!result.negated) {
> fsopt->fscache_uniq = param->string;
> param->string = NULL;
> }
> @@ -605,7 +602,7 @@ static int ceph_show_options(struct seq_file *m, struct dentry *root)
> seq_puts(m, ",nodcache");
> if (fsopt->flags & CEPH_MOUNT_OPT_INO32)
> seq_puts(m, ",ino32");
> - if (fsopt->flags & CEPH_MOUNT_OPT_FSCACHE) {
> + if (fsopt->fscache_uniq) {
> seq_show_option(m, "fsc", fsopt->fscache_uniq);
> }
> if (fsopt->flags & CEPH_MOUNT_OPT_NOPOOLPERM)
> @@ -969,7 +966,7 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
> goto out;
>
> /* setup fscache */
> - if (fsc->mount_options->flags & CEPH_MOUNT_OPT_FSCACHE) {
> + if (fsc->mount_options->fscache_uniq) {
> err = ceph_fscache_register_fs(fsc, fc);
> if (err < 0)
> goto out;
> diff --git a/fs/ceph/super.h b/fs/ceph/super.h
> index ebc25072b19b..ad44b98f3c3b 100644
> --- a/fs/ceph/super.h
> +++ b/fs/ceph/super.h
> @@ -38,11 +38,10 @@
> #define CEPH_MOUNT_OPT_NOASYNCREADDIR (1<<7) /* no dcache readdir */
> #define CEPH_MOUNT_OPT_INO32 (1<<8) /* 32 bit inos */
> #define CEPH_MOUNT_OPT_DCACHE (1<<9) /* use dcache for readdir etc */
> -#define CEPH_MOUNT_OPT_FSCACHE (1<<10) /* use fscache */
> -#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<11) /* no pool permission check */
> -#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<12) /* mount waits if no mds is up */
> -#define CEPH_MOUNT_OPT_NOQUOTADF (1<<13) /* no root dir quota in statfs */
> -#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<14) /* don't use RADOS 'copy-from' op */
> +#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<10) /* no pool permission check */
> +#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<11) /* mount waits if no mds is up */
> +#define CEPH_MOUNT_OPT_NOQUOTADF (1<<12) /* no root dir quota in statfs */
> +#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<13) /* don't use RADOS 'copy-from' op */
>
> #define CEPH_MOUNT_OPT_DEFAULT \
> (CEPH_MOUNT_OPT_DCACHE | \
Hi Xiubo,
Did you test this both with and without supplying a uniquifier (i.e.
both "-o fsc=<uniquifier>" and "-o fsc" cases? I'm pretty sure this
breaks "-o fsc" case...
Thanks,
Ilya
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ceph: remove CEPH_MOUNT_OPT_FSCACHE flag
2020-02-12 9:59 ` Ilya Dryomov
@ 2020-02-12 10:46 ` Xiubo Li
0 siblings, 0 replies; 3+ messages in thread
From: Xiubo Li @ 2020-02-12 10:46 UTC (permalink / raw)
To: Ilya Dryomov
Cc: Jeff Layton, Sage Weil, Yan, Zheng, Patrick Donnelly, Ceph Development
On 2020/2/12 17:59, Ilya Dryomov wrote:
> On Wed, Feb 12, 2020 at 9:24 AM <xiubli@redhat.com> wrote:
>> From: Xiubo Li <xiubli@redhat.com>
>>
>> Since we can figure out whether the fscache is enabled or not by
>> using the fscache_uniq and this flag is redundant.
>>
>> Signed-off-by: Xiubo Li <xiubli@redhat.com>
>> ---
>> fs/ceph/super.c | 9 +++------
>> fs/ceph/super.h | 9 ++++-----
>> 2 files changed, 7 insertions(+), 11 deletions(-)
>>
>> diff --git a/fs/ceph/super.c b/fs/ceph/super.c
>> index 48f86eb82b9b..8df506dd9039 100644
>> --- a/fs/ceph/super.c
>> +++ b/fs/ceph/super.c
>> @@ -383,10 +383,7 @@ static int ceph_parse_mount_param(struct fs_context *fc,
>> #ifdef CONFIG_CEPH_FSCACHE
>> kfree(fsopt->fscache_uniq);
>> fsopt->fscache_uniq = NULL;
>> - if (result.negated) {
>> - fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
>> - } else {
>> - fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
>> + if (!result.negated) {
>> fsopt->fscache_uniq = param->string;
>> param->string = NULL;
>> }
>> @@ -605,7 +602,7 @@ static int ceph_show_options(struct seq_file *m, struct dentry *root)
>> seq_puts(m, ",nodcache");
>> if (fsopt->flags & CEPH_MOUNT_OPT_INO32)
>> seq_puts(m, ",ino32");
>> - if (fsopt->flags & CEPH_MOUNT_OPT_FSCACHE) {
>> + if (fsopt->fscache_uniq) {
>> seq_show_option(m, "fsc", fsopt->fscache_uniq);
>> }
>> if (fsopt->flags & CEPH_MOUNT_OPT_NOPOOLPERM)
>> @@ -969,7 +966,7 @@ static struct dentry *ceph_real_mount(struct ceph_fs_client *fsc,
>> goto out;
>>
>> /* setup fscache */
>> - if (fsc->mount_options->flags & CEPH_MOUNT_OPT_FSCACHE) {
>> + if (fsc->mount_options->fscache_uniq) {
>> err = ceph_fscache_register_fs(fsc, fc);
>> if (err < 0)
>> goto out;
>> diff --git a/fs/ceph/super.h b/fs/ceph/super.h
>> index ebc25072b19b..ad44b98f3c3b 100644
>> --- a/fs/ceph/super.h
>> +++ b/fs/ceph/super.h
>> @@ -38,11 +38,10 @@
>> #define CEPH_MOUNT_OPT_NOASYNCREADDIR (1<<7) /* no dcache readdir */
>> #define CEPH_MOUNT_OPT_INO32 (1<<8) /* 32 bit inos */
>> #define CEPH_MOUNT_OPT_DCACHE (1<<9) /* use dcache for readdir etc */
>> -#define CEPH_MOUNT_OPT_FSCACHE (1<<10) /* use fscache */
>> -#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<11) /* no pool permission check */
>> -#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<12) /* mount waits if no mds is up */
>> -#define CEPH_MOUNT_OPT_NOQUOTADF (1<<13) /* no root dir quota in statfs */
>> -#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<14) /* don't use RADOS 'copy-from' op */
>> +#define CEPH_MOUNT_OPT_NOPOOLPERM (1<<10) /* no pool permission check */
>> +#define CEPH_MOUNT_OPT_MOUNTWAIT (1<<11) /* mount waits if no mds is up */
>> +#define CEPH_MOUNT_OPT_NOQUOTADF (1<<12) /* no root dir quota in statfs */
>> +#define CEPH_MOUNT_OPT_NOCOPYFROM (1<<13) /* don't use RADOS 'copy-from' op */
>>
>> #define CEPH_MOUNT_OPT_DEFAULT \
>> (CEPH_MOUNT_OPT_DCACHE | \
> Hi Xiubo,
>
> Did you test this both with and without supplying a uniquifier (i.e.
> both "-o fsc=<uniquifier>" and "-o fsc" cases? I'm pretty sure this
> breaks "-o fsc" case...
Yeah, it seems will.
Thanks,
BRs
> Thanks,
>
> Ilya
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-12 10:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-12 8:24 [PATCH] ceph: remove CEPH_MOUNT_OPT_FSCACHE flag xiubli
2020-02-12 9:59 ` Ilya Dryomov
2020-02-12 10:46 ` Xiubo Li
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.