On Tue 30-01-24 11:52:50, Mathieu Desnoyers wrote: > Use dax_is_supported() to validate whether the architecture has > virtually aliased data caches at mount time. Print an error and disable > DAX if dax=always is requested as a mount option on an architecture > which does not support DAX. > > This is relevant for architectures which require a dynamic check > to validate whether they have virtually aliased data caches. > > Fixes: d92576f1167c ("dax: does not work correctly with virtual aliasing > caches") > Signed-off-by: Mathieu Desnoyers <mathieu.desnoy...@efficios.com> > Cc: Jan Kara <j...@suse.com> > Cc: linux-e...@vger.kernel.org > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Linus Torvalds <torva...@linux-foundation.org> > Cc: linux...@kvack.org > Cc: linux-a...@vger.kernel.org > Cc: Dan Williams <dan.j.willi...@intel.com> > Cc: Vishal Verma <vishal.l.ve...@intel.com> > Cc: Dave Jiang <dave.ji...@intel.com> > Cc: Matthew Wilcox <wi...@infradead.org> > Cc: Arnd Bergmann <a...@arndb.de> > Cc: Russell King <li...@armlinux.org.uk> > Cc: nvd...@lists.linux.dev > Cc: linux-...@vger.kernel.org > Cc: linux-fsde...@vger.kernel.org
OK, yeah, this is better than v1. Feel free to add: Acked-by: Jan Kara <j...@suse.cz> Honza > --- > fs/ext2/super.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/fs/ext2/super.c b/fs/ext2/super.c > index 01f9addc8b1f..30ff57d47ed4 100644 > --- a/fs/ext2/super.c > +++ b/fs/ext2/super.c > @@ -955,7 +955,11 @@ static int ext2_fill_super(struct super_block *sb, void > *data, int silent) > blocksize = BLOCK_SIZE << le32_to_cpu(sbi->s_es->s_log_block_size); > > if (test_opt(sb, DAX)) { > - if (!sbi->s_daxdev) { > + if (!dax_is_supported()) { > + ext2_msg(sb, KERN_ERR, > + "DAX unsupported by architecture. Turning off > DAX."); > + clear_opt(sbi->s_mount_opt, DAX); > + } else if (!sbi->s_daxdev) { > ext2_msg(sb, KERN_ERR, > "DAX unsupported by block device. Turning off > DAX."); > clear_opt(sbi->s_mount_opt, DAX); > -- > 2.39.2 > -- Jan Kara <j...@suse.com> SUSE Labs, CR