Message ID | 20200220095908.14980-1-chrubis@suse.cz |
---|---|
State | Accepted |
Headers | show |
Series | syscalls/fgetxattr02: Use loop instead of RAM disk | expand |
Hi Cyril> There are minimal systems that does not ship with RAM disk kernel module > which makes this test fail with ENXIO when we attempt to open the block > device in the test setup. > > LTP depends on heavily on loop device driver already so it makes sense > to switch over to a loop device backed block device instead. > > Signed-off-by: Cyril Hrubis <chrubis@suse.cz> > --- > testcases/kernel/syscalls/fgetxattr/fgetxattr02.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > index 02e81810a..82fb676be 100644 > --- a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > +++ b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > @@ -210,7 +210,8 @@ static void setup(void) > size_t i = 0; > struct sockaddr_un sun; > > - dev_t dev = makedev(1, 3); > + dev_t chr_dev = makedev(1, 3); > + dev_t blk_dev = makedev(7, 3); Can we use tst_find_free_loopdev to avoid a fixed loop dev like copy_file_range02.c? Best Regards Yang Xu > > SAFE_TOUCH(FILENAME, 0644, NULL); > SAFE_TOUCH(SYMLINKF, 0644, NULL); > @@ -219,8 +220,8 @@ static void setup(void) > > /* root: mknod(2) needs it to create something other than a file */ > SAFE_MKNOD(FIFO, S_IFIFO | 0777, 0); > - SAFE_MKNOD(CHR, S_IFCHR | 0777, dev); > - SAFE_MKNOD(BLK, S_IFBLK | 0777, dev); > + SAFE_MKNOD(CHR, S_IFCHR | 0777, chr_dev); > + SAFE_MKNOD(BLK, S_IFBLK | 0777, blk_dev); > > for (i = 0; i < ARRAY_SIZE(tc); i++) { > >
Hi! > > which makes this test fail with ENXIO when we attempt to open the block > > device in the test setup. > > > > LTP depends on heavily on loop device driver already so it makes sense > > to switch over to a loop device backed block device instead. > > > > Signed-off-by: Cyril Hrubis <chrubis@suse.cz> > > --- > > testcases/kernel/syscalls/fgetxattr/fgetxattr02.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > > index 02e81810a..82fb676be 100644 > > --- a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > > +++ b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c > > @@ -210,7 +210,8 @@ static void setup(void) > > size_t i = 0; > > struct sockaddr_un sun; > > > > - dev_t dev = makedev(1, 3); > > + dev_t chr_dev = makedev(1, 3); > > + dev_t blk_dev = makedev(7, 3); > Can we use tst_find_free_loopdev to avoid a fixed loop dev like > copy_file_range02.c? I do not think that it matters here, we are not actually touching the block device here, we just need to be able to open the block device so that we can add an attribute to the file we have created. I does not matter if it's used or not.
Hi > Hi! >>> which makes this test fail with ENXIO when we attempt to open the block >>> device in the test setup. >>> >>> LTP depends on heavily on loop device driver already so it makes sense >>> to switch over to a loop device backed block device instead. >>> >>> Signed-off-by: Cyril Hrubis <chrubis@suse.cz> >>> --- >>> testcases/kernel/syscalls/fgetxattr/fgetxattr02.c | 7 ++++--- >>> 1 file changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c >>> index 02e81810a..82fb676be 100644 >>> --- a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c >>> +++ b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c >>> @@ -210,7 +210,8 @@ static void setup(void) >>> size_t i = 0; >>> struct sockaddr_un sun; >>> >>> - dev_t dev = makedev(1, 3); >>> + dev_t chr_dev = makedev(1, 3); >>> + dev_t blk_dev = makedev(7, 3); >> Can we use tst_find_free_loopdev to avoid a fixed loop dev like >> copy_file_range02.c? > > I do not think that it matters here, we are not actually touching the > block device here, we just need to be able to open the block device so > that we can add an attribute to the file we have created. I does not > matter if it's used or not. Sound reasonable, feel free to add Reviewed-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com> >
Hi! > Sound reasonable, feel free to add > Reviewed-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com> Pushed, thanks.
diff --git a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c index 02e81810a..82fb676be 100644 --- a/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c +++ b/testcases/kernel/syscalls/fgetxattr/fgetxattr02.c @@ -210,7 +210,8 @@ static void setup(void) size_t i = 0; struct sockaddr_un sun; - dev_t dev = makedev(1, 3); + dev_t chr_dev = makedev(1, 3); + dev_t blk_dev = makedev(7, 3); SAFE_TOUCH(FILENAME, 0644, NULL); SAFE_TOUCH(SYMLINKF, 0644, NULL); @@ -219,8 +220,8 @@ static void setup(void) /* root: mknod(2) needs it to create something other than a file */ SAFE_MKNOD(FIFO, S_IFIFO | 0777, 0); - SAFE_MKNOD(CHR, S_IFCHR | 0777, dev); - SAFE_MKNOD(BLK, S_IFBLK | 0777, dev); + SAFE_MKNOD(CHR, S_IFCHR | 0777, chr_dev); + SAFE_MKNOD(BLK, S_IFBLK | 0777, blk_dev); for (i = 0; i < ARRAY_SIZE(tc); i++) {
There are minimal systems that does not ship with RAM disk kernel module which makes this test fail with ENXIO when we attempt to open the block device in the test setup. LTP depends on heavily on loop device driver already so it makes sense to switch over to a loop device backed block device instead. Signed-off-by: Cyril Hrubis <chrubis@suse.cz> --- testcases/kernel/syscalls/fgetxattr/fgetxattr02.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)