I noticed that both ext4_da_aops and ext4_dax_aops are used on DAX mounted ext4 files. Looking at 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 So, we set ext4_da_aops for existing files since S_DAX flag is set after ext4_set_aops(). Thanks, -Toshi