Re: [PATCH v4 00/15] overlayfs constant inode numbers

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

 



On Wed, May 3, 2017 at 10:01 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
> On Wed, May 3, 2017 at 6:46 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>> On Wed, May 3, 2017 at 6:43 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>>> On Mon, May 1, 2017 at 3:41 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>>>> Miklos,
>>>>
>>>> This is v4 series of redirect by file handle and constant inode numbers.
>>>> this series fixes constant inode numbers for stat(2) for overlayfs
>>>> configuration of all layers on the same fs.
>>>
>>> Great work.
>>>
>>> I did some mutilation (aka. simplification) and pushed the result to
>>> overlayfs-constino.v5
>>>
>
> Simplified indeed!
>
>>> No time to check if it works or not, so probably not...
>
> Oh but it does :-)
> Passed on my tests.
> I pushed branch master of unionmunt-tests for testing constino,
> so you can use that if you like,
> because my overlayfs-devel branch already plays with verify_lower.
>
> Anyway, I see that you relaxed the uuid_is_null() constrain, so now

Wasn't intentional; will restore it...

> you can also test ./run --ov=0 --samefs
> with (default) tmpfs, although that is not really stress testing fh decoding..

Lets just add s_uuid to tmpfs, should be trivial.

>
>>> tomorrow, but if you have time, please feel free to test and review my
>>> changes.
>>>
>>
>
> Reviewed.

Thanks.

>
> Specifically:
> ACK for simplifications of "store file handle of lower inode on copy up"
> ACK for simplifications of "lookup non-dir copy-up-origin by file handle"
>
> One bug here:
>
> +       if (IS_ERR(origin)) {
> +               if (origin == ERR_PTR(-ESTALE))
> +                       origin = NULL;
> +       }
> +       if (ovl_dentry_weird(origin) ||
>
> Should be else if.
> xfstest overlay/019 (fsstress) hits NULL pointer deref at ovl_dentry_weird()
>
> +           ((d_inode(origin)->i_mode ^ d_inode(dentry)->i_mode) & S_IFMT)) {
> +               dput(origin);
> +               origin = NULL;
> +               goto invalid;
> +       }
> +

Right, will fix.

Thanks,
Miklos



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux