Re: [PATCH 03/11] ovl: During copy up, first copy up metadata and then data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 18, 2017 at 7:13 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
> On Wed, Oct 18, 2017 at 12:05 AM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
>> This just helps with later patches where after copying up metadata, we
>> skip data copying step, if needed.
>
> This patch looks fine, but I must be missing how it helps with later patches.
> If it doesn't help please remove it.
>

Found it in patch 5, so

Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx>

>>
>> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx>
>> ---
>>  fs/overlayfs/copy_up.c | 34 +++++++++++++++++-----------------
>>  1 file changed, 17 insertions(+), 17 deletions(-)
>>
>> diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
>> index 0a6294ea64d5..4c0acb2a23ea 100644
>> --- a/fs/overlayfs/copy_up.c
>> +++ b/fs/overlayfs/copy_up.c
>> @@ -445,6 +445,23 @@ static int ovl_copy_up_inode(struct ovl_copy_up_ctx *c, struct dentry *temp)
>>  {
>>         int err;
>>
>> +       err = ovl_copy_xattr(c->lowerpath.dentry, temp);
>> +       if (err)
>> +               return err;
>> +
>> +       /*
>> +        * Store identifier of lower inode in upper inode xattr to
>> +        * allow lookup of the copy up origin inode.
>> +        *
>> +        * Don't set origin when we are breaking the association with a lower
>> +        * hard link.
>> +        */
>> +       if (c->origin) {
>> +               err = ovl_set_origin(c->dentry, c->lowerpath.dentry, temp);
>> +               if (err)
>> +                       return err;
>> +       }
>> +
>>         if (S_ISREG(c->stat.mode)) {
>>                 struct path upperpath;
>>
>> @@ -457,29 +474,12 @@ static int ovl_copy_up_inode(struct ovl_copy_up_ctx *c, struct dentry *temp)
>>                         return err;
>>         }
>>
>> -       err = ovl_copy_xattr(c->lowerpath.dentry, temp);
>> -       if (err)
>> -               return err;
>> -
>>         inode_lock(temp->d_inode);
>>         err = ovl_set_attr(temp, &c->stat);
>>         inode_unlock(temp->d_inode);
>>         if (err)
>>                 return err;
>>
>> -       /*
>> -        * Store identifier of lower inode in upper inode xattr to
>> -        * allow lookup of the copy up origin inode.
>> -        *
>> -        * Don't set origin when we are breaking the association with a lower
>> -        * hard link.
>> -        */
>> -       if (c->origin) {
>> -               err = ovl_set_origin(c->dentry, c->lowerpath.dentry, temp);
>> -               if (err)
>> -                       return err;
>> -       }
>> -
>>         return 0;
>>  }
>>
>> --
>> 2.13.5
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux