Message ID | 20240129210631.193493-5-mathieu.desnoyers@efficios.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Introduce cache_is_aliasing() to fix DAX regression | expand |
On Mon 29-01-24 16:06:28, Mathieu Desnoyers wrote: > Use dax_is_supported() to validate whether the architecture has > virtually aliased caches at mount time. > > This is relevant for architectures which require a dynamic check > to validate whether they have virtually aliased data caches > (ARCH_HAS_CACHE_ALIASING_DYNAMIC=y). > > Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> > Cc: Jan Kara <jack@suse.com> > Cc: linux-ext4@vger.kernel.org > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Linus Torvalds <torvalds@linux-foundation.org> > Cc: linux-mm@kvack.org > Cc: linux-arch@vger.kernel.org > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: Vishal Verma <vishal.l.verma@intel.com> > Cc: Dave Jiang <dave.jiang@intel.com> > Cc: Matthew Wilcox <willy@infradead.org> > Cc: nvdimm@lists.linux.dev > Cc: linux-cxl@vger.kernel.org Looks good to me (although I share Dave's opinion it would be nice to CC the whole series to fsdevel - luckily we have lore these days so it is not that tedious to find the whole series :)). Feel free to add: Acked-by: Jan Kara <jack@suse.cz> Honza > --- > fs/ext2/super.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/fs/ext2/super.c b/fs/ext2/super.c > index 01f9addc8b1f..0398e7a90eb6 100644 > --- a/fs/ext2/super.c > +++ b/fs/ext2/super.c > @@ -585,13 +585,13 @@ static int parse_options(char *options, struct super_block *sb, > set_opt(opts->s_mount_opt, XIP); > fallthrough; > case Opt_dax: > -#ifdef CONFIG_FS_DAX > - ext2_msg(sb, KERN_WARNING, > - "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); > - set_opt(opts->s_mount_opt, DAX); > -#else > - ext2_msg(sb, KERN_INFO, "dax option not supported"); > -#endif > + if (dax_is_supported()) { > + ext2_msg(sb, KERN_WARNING, > + "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); > + set_opt(opts->s_mount_opt, DAX); > + } else { > + ext2_msg(sb, KERN_INFO, "dax option not supported"); > + } > break; > > #if defined(CONFIG_QUOTA) > -- > 2.39.2 >
On 2024-01-30 06:33, Jan Kara wrote: > On Mon 29-01-24 16:06:28, Mathieu Desnoyers wrote: >> Use dax_is_supported() to validate whether the architecture has >> virtually aliased caches at mount time. >> >> This is relevant for architectures which require a dynamic check >> to validate whether they have virtually aliased data caches >> (ARCH_HAS_CACHE_ALIASING_DYNAMIC=y). >> >> Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") >> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> >> Cc: Jan Kara <jack@suse.com> >> Cc: linux-ext4@vger.kernel.org >> Cc: Andrew Morton <akpm@linux-foundation.org> >> Cc: Linus Torvalds <torvalds@linux-foundation.org> >> Cc: linux-mm@kvack.org >> Cc: linux-arch@vger.kernel.org >> Cc: Dan Williams <dan.j.williams@intel.com> >> Cc: Vishal Verma <vishal.l.verma@intel.com> >> Cc: Dave Jiang <dave.jiang@intel.com> >> Cc: Matthew Wilcox <willy@infradead.org> >> Cc: nvdimm@lists.linux.dev >> Cc: linux-cxl@vger.kernel.org > > Looks good to me (although I share Dave's opinion it would be nice to CC > the whole series to fsdevel - luckily we have lore these days so it is not > that tedious to find the whole series :)). Feel free to add: > > Acked-by: Jan Kara <jack@suse.cz> Hi Jan, Thanks for looking at it! I will do significant changes for v2, so I will hold on before integrating your acked-by if it's OK with you. Thanks! Mathieu > > Honza > >> --- >> fs/ext2/super.c | 14 +++++++------- >> 1 file changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/fs/ext2/super.c b/fs/ext2/super.c >> index 01f9addc8b1f..0398e7a90eb6 100644 >> --- a/fs/ext2/super.c >> +++ b/fs/ext2/super.c >> @@ -585,13 +585,13 @@ static int parse_options(char *options, struct super_block *sb, >> set_opt(opts->s_mount_opt, XIP); >> fallthrough; >> case Opt_dax: >> -#ifdef CONFIG_FS_DAX >> - ext2_msg(sb, KERN_WARNING, >> - "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); >> - set_opt(opts->s_mount_opt, DAX); >> -#else >> - ext2_msg(sb, KERN_INFO, "dax option not supported"); >> -#endif >> + if (dax_is_supported()) { >> + ext2_msg(sb, KERN_WARNING, >> + "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); >> + set_opt(opts->s_mount_opt, DAX); >> + } else { >> + ext2_msg(sb, KERN_INFO, "dax option not supported"); >> + } >> break; >> >> #if defined(CONFIG_QUOTA) >> -- >> 2.39.2 >>
diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 01f9addc8b1f..0398e7a90eb6 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -585,13 +585,13 @@ static int parse_options(char *options, struct super_block *sb, set_opt(opts->s_mount_opt, XIP); fallthrough; case Opt_dax: -#ifdef CONFIG_FS_DAX - ext2_msg(sb, KERN_WARNING, - "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); - set_opt(opts->s_mount_opt, DAX); -#else - ext2_msg(sb, KERN_INFO, "dax option not supported"); -#endif + if (dax_is_supported()) { + ext2_msg(sb, KERN_WARNING, + "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"); + set_opt(opts->s_mount_opt, DAX); + } else { + ext2_msg(sb, KERN_INFO, "dax option not supported"); + } break; #if defined(CONFIG_QUOTA)
Use dax_is_supported() to validate whether the architecture has virtually aliased caches at mount time. This is relevant for architectures which require a dynamic check to validate whether they have virtually aliased data caches (ARCH_HAS_CACHE_ALIASING_DYNAMIC=y). Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing caches") Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Jan Kara <jack@suse.com> Cc: linux-ext4@vger.kernel.org Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: linux-mm@kvack.org Cc: linux-arch@vger.kernel.org Cc: Dan Williams <dan.j.williams@intel.com> Cc: Vishal Verma <vishal.l.verma@intel.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: nvdimm@lists.linux.dev Cc: linux-cxl@vger.kernel.org --- fs/ext2/super.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)