Re: [PATCH 5/5] fsx: check ENOSYS in test_copy_range()

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



On Sat, Dec 29, 2018 at 04:16:19PM +0800, Eryu Guan wrote:
> On Sat, Dec 29, 2018 at 10:34:52AM +0800, Hou Tao wrote:
> > In configure script, we only check whether or not the build
> > of copy-range test program is successful, but that doesn't
> > mean the kernel has implemented the syscall, so checking
> > for this case.
> > 
> > Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx>
> > ---
> >  ltp/fsx.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/ltp/fsx.c b/ltp/fsx.c
> > index 316f08eb..b84180f7 100644
> > --- a/ltp/fsx.c
> > +++ b/ltp/fsx.c
> > @@ -1583,7 +1583,7 @@ test_copy_range(void)
> >  	loff_t o1 = 0, o2 = 0;
> >  
> >  	if (syscall(__NR_copy_file_range, fd, &o1, fd, &o2, 0, 0) == -1 &&
> > -	    (errno == EOPNOTSUPP || errno == ENOTTY)) {
> > +	    (errno == ENOSYS || errno == EOPNOTSUPP || errno == ENOTTY)) {
> 
> Should we also check for ENOSYS in other operations like
> {clone,dedupe}_range

Unimplemented ioctls usually return EOPNOTSUPP or ENOTTY, not ENOSYS, so
I don't think that's necessary.... unless there are kernels that don't
implement the ioctl syscall?

In any case, the manpage for clone and dedupe don't say anything about
returning ENOSYS.

> and fallocate?

Yes.

--D

> Other fixes look good to me, thanks a lot for the fixes!
> 
> Thanks,
> Eryu
> 
> >  		if (!quiet)
> >  			fprintf(stderr,
> >  				"main: filesystem does not support "
> > -- 
> > 2.16.2.dirty
> > 



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

  Powered by Linux