NFS: replace cross device check in copy_file_range
Add a check to disallow cross file systems copy offload, both files are expected to be of NFS4.2+ type. Reviewed-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Matthew Wilcox <willy@infradead.org> Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
This commit is contained in:
parent
1275101026
commit
8dff1df551
@ -141,7 +141,7 @@ static ssize_t __nfs4_copy_file_range(struct file *file_in, loff_t pos_in,
|
|||||||
bool sync = false;
|
bool sync = false;
|
||||||
|
|
||||||
/* Only offload copy if superblock is the same */
|
/* Only offload copy if superblock is the same */
|
||||||
if (file_inode(file_in)->i_sb != file_inode(file_out)->i_sb)
|
if (file_in->f_op != &nfs4_file_operations)
|
||||||
return -EXDEV;
|
return -EXDEV;
|
||||||
if (!nfs_server_capable(file_inode(file_out), NFS_CAP_COPY))
|
if (!nfs_server_capable(file_inode(file_out), NFS_CAP_COPY))
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
Loading…
Reference in New Issue
Block a user