On Mon 11-11-19 22:55:07, Christoph Hellwig wrote: > On Mon, Nov 11, 2019 at 04:34:52PM -0800, ira.weiny@xxxxxxxxx wrote: > > From: Ira Weiny <ira.weiny@xxxxxxxxx> > > > > swap_activate() and swap_deactivate() have nothing to do with > > address spaces. We want to eventually make the address space operations > > dynamic to switch inode flags on the fly. So to simplify this code as > > well as properly track these operations we move these functions to the > > file_operations vector. > > What is the point? If we switch aops for DAX vs not we might as well > switch file operations as well, as they pretty much are entirely > different. Ira is trying to make switching of inodes between DAX and non-DAX mode work. Currently, we have different address_space_operations for DAX vs non-DAX and that makes sense because operation for address_space is vastly different for DAX compared to page cache. But switching of aops is difficult to do reliably so I've suggested to move functions that don't make too much sense in aops out to simplify the picture. Currently file_operations are the same (both on XFS and ext4) for DAX and non-DAX case so we don't need to switch them. And although I agree that for some operations split may make sense, I think most of the operations would be actually the same for DAX vs non-DAX case so I don't see a point in separating file_operations for DAX vs non-DAX case. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR