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