Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ext4, dax: set ext4_dax_aops for dax files
Sync syscall to DAX file needs to flush processor cache, but it currently does not flush to existing DAX files. This is because 'ext4_da_aops' is set to address_space_operations of existing DAX files, instead of 'ext4_dax_aops', since S_DAX flag is set after ext4_set_aops() in the open path. New file -------- lookup_open ext4_create __ext4_new_inode ext4_set_inode_flags // Set S_DAX flag ext4_set_aops // Set aops to ext4_dax_aops Existing file ------------- lookup_open ext4_lookup ext4_iget ext4_set_aops // Set aops to ext4_da_aops ext4_set_inode_flags // Set S_DAX flag Change ext4_iget() to initialize i_flags before ext4_set_aops(). Fixes: 5f0663b ("ext4, dax: introduce ext4_dax_aops") Signed-off-by: Toshi Kani <[email protected]> Signed-off-by: Theodore Ts'o <[email protected]> Suggested-by: Jan Kara <[email protected]> Cc: [email protected]
- Loading branch information