On Thu, Oct 25, 2018 at 1:54 AM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > On Wed, Oct 24, 2018 at 10:59 PM Olga Kornievskaia > <olga.kornievskaia@xxxxxxxxx> wrote: > > > > From: Olga Kornievskaia <kolga@xxxxxxxxxx> > > > > VFS copy_file_range was relaxed to allow for cross-device copy. > > Add a check for now, to disallow cross-device copy offload until > > appropriate support is added. > > > > Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx> > > ` > > --- > > fs/overlayfs/file.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c > > index aeaefd2..5282853 100644 > > --- a/fs/overlayfs/file.c > > +++ b/fs/overlayfs/file.c > > @@ -483,6 +483,9 @@ static ssize_t ovl_copy_file_range(struct file *file_in, loff_t pos_in, > > struct file *file_out, loff_t pos_out, > > size_t len, unsigned int flags) > > { > > + if (file_in->f_inode->i_sb != file_out->f_inode->i_sb) > > + return -EXDEV; > > > > Note that this could be relaxed later on to same fs type > allowing for cross container copy_file_range() to be performced > as clone_file_range() when upper is a shared fs with clone support. > > Don't worry about it though, I can make this change later after testing > the use case. > > As long as this patch comes in the series *before* relaxing the VFS check, > You may add: > Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> Thank you. I will reorder the patches and yes I thought the individual FS maintainers/folks would relax the check according to their functionality. This patch just provides same semantics with respect to the cross device checking but at the driver level. > > Thanks, > Amir.