From: Hou Tao Date: Fri, 4 Jan 2019 08:19:27 +0000 (+0800) Subject: fsx: check ENOSYS in test_copy_range() & test_fallocate() X-Git-Tag: v2022.05.01~1296 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2408f208c1061927665d0233bfec1a6bb49f0ab1;p=xfstests-dev.git fsx: check ENOSYS in test_copy_range() & test_fallocate() In configure script, we only check whether or not the build of test program succeeds, but that doesn't mean the kernel has implemented the syscall, so checking for this case. Signed-off-by: Hou Tao Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- diff --git a/ltp/fsx.c b/ltp/fsx.c index 316f08eb..f4a1c7cf 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)) { if (!quiet) fprintf(stderr, "main: filesystem does not support " @@ -2423,7 +2423,8 @@ __test_fallocate(int mode, const char *mode_str) #ifdef HAVE_LINUX_FALLOC_H int ret = 0; if (!lite) { - if (fallocate(fd, mode, file_size, 1) && errno == EOPNOTSUPP) { + if (fallocate(fd, mode, file_size, 1) && + (errno == ENOSYS || errno == EOPNOTSUPP)) { if(!quiet) fprintf(stderr, "main: filesystem does not support "