OSDN Git Service

ext2, dax: set ext2_dax_aops for dax files
authorToshi Kani <toshi.kani@hpe.com>
Fri, 14 Sep 2018 14:51:14 +0000 (08:51 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Oct 2018 23:59:20 +0000 (16:59 -0700)
commit7ebfc8f69a37bb28380c97819fd6437eec37dd8c
tree2040cc97385ddc2e20aed8e0fecf157b225bd518
parent2436ce1bad9ec8756d2c6626b794ddac67cd86ef
ext2, dax: set ext2_dax_aops for dax files

commit 9e796c9db93b4840d1b00e550eea26db7cb741e2 upstream.

Sync syscall to DAX file needs to flush processor cache, but it
currently does not flush to existing DAX files.  This is because
'ext2_da_aops' is set to address_space_operations of existing DAX
files, instead of 'ext2_dax_aops', since S_DAX flag is set after
ext2_set_aops() in the open path.

Similar to ext4, change ext2_iget() to initialize i_flags before
ext2_set_aops().

Fixes: fb094c90748f ("ext2, dax: introduce ext2_dax_aops")
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Suggested-by: Jan Kara <jack@suse.cz>
Cc: Jan Kara <jack@suse.cz>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext2/inode.c