On Thu, Oct 25, 2018 at 6:27 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Thu, Oct 25, 2018 at 05:51:47PM -0400, Olga Kornievskaia wrote: > > - if (file_in->f_inode->i_sb != file_out->f_inode->i_sb) > > + if (file_in->f_inode->i_sb->s_type != file_out->f_inode->i_sb->s_type) > > Isn't it simpler to do: > > if (file_in->f_inode->i_sb->s_type != &nfs4_fs_type) I don't believe that's sufficient. What if "in" fs was NFS and "out" fs was CIFS? > But now I've done some grepping, and I wonder whether it's possible > / desirable to also copy between inodes on a nfs4_remote_fs_type, > nfs4_remote_referral_fs_type, nfs4_referral_fs_type or nfs4_xdev_fs_type. > I haven't kept up with NFS development for a while, so maybe none of > those are possible. Thank you for pointing it out. Grepping thru the code, don't believe the last one is used but for the migration and replication types, I don't know if there are any caveats that would preclude support for copy offload I'll check with Chuck Lever. Then the check should be that "in" and "out" are any of the 4 NFS types.