Re: [PATCH V2] ovl: Allocate anonymous devs for lowerdirs

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

 



On Tue, Jun 27, 2017 at 10:31 AM, Chandan Rajendra
<chandan@xxxxxxxxxxxxxxxxxx> wrote:
> On Friday, June 23, 2017 7:04:57 PM IST Amir Goldstein wrote:
>> On Fri, Jun 23, 2017 at 2:01 PM, Chandan Rajendra
>> <chandan@xxxxxxxxxxxxxxxxxx> wrote:
>> > For stat(2) on lowerdir non-dir entries in non-samefs case, this commit
>> > provides unique values for st_dev. The unique values are obtained by
>> > allocating anonymous bdevs for each of the lowerdirs in the overlayfs
>> > instance.
>> >
>> > Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx>
>> > ---
>>
>> Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx>
>> Tested-by: Amir Goldstein <amir73il@xxxxxxxxx>
>>
>> Miklos,
>>
>> I re-created the branch ovl-constino [1] on top of ovl-hardlinks and without
>> the consistent dino patches.
>>
>> Applied Chandan's patch and resolved conflicts with my patches.
>> Then, applied my patch to relax constant st_ino  for non-samefs on stat(2).
>>
>> Mutilated unionmount-testsuite layers check [2] to get over the unexpected
>> pseudo dev and now tests pass for non samefs including constant ino
>> verification and persistent ino verification for non-dir.
>>
>> Chandan,
>>
>> If you can fix the mutilated unionmount-testsuite check_layer(), that would be
>> nice.
>>
>
> Amir,
>
> In check_layer() we have the following,
>
>             # TODO: for non-samefs, check file dev matches pseudo dev
>             # and that pseduo dev != real dev
>             raise TestError(name + ": File on unexpected layer")
>
> "check file dev matches pseudo dev" ... To do this we would have to
> have the list of pseudo dev ids for each of the lowerdirs.  One crude
> way of getting such a list would be to create files having names with
> a known prefix under each of the lowerdirs before mounting the
> overlayfs instance.  After mounting the overlayfs instance we could do
> a stat(2) on $overlay_mount/tempfile[i] to get the pseudo dev ids.
>
> These pseudo dev ids can then be used in check_layer().
>
> Please let me know your views on this.
>

I think that "check file dev matches pseudo dev" part is probably not worth
the effort.

Better concentrate on "pseduo dev != real dev" part. real dev is already
recorded (note_lower_fs/note_upper_fs) so it should be easier.
Please go over the check_layer tests and specifically the changes I've
made to them. It's possible that the tests could be improved also for the
samefs case (i.e. verify that in samefs st_dev is always overlay dev).

BTW, I just force push the ovl-constino unionmount branch to include
an opt-in run option --verify.
Without this option, constant ino is not checked at all.
This is so older kernels could still be tested with latests unionmount
testsuite.
Please rebase.

Thanks,
Amir.
--
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