From: Brendan Jackman Date: Fri, 21 Feb 2025 18:25:48 +0000 (+0000) Subject: selftests/mm: skip gup_longerm tests on weird filesystems X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8cba1c61017f16c908d269b8dd6410a371cb6cfd;p=users%2Fjedix%2Flinux-maple.git selftests/mm: skip gup_longerm tests on weird filesystems Some filesystems don't support funtract()ing unlinked files. They return ENOENT. In that case, skip the test. Link: https://lkml.kernel.org/r/20250221-mm-selftests-v2-9-28c4d66383c5@google.com Signed-off-by: Brendan Jackman Cc: Dev Jain Cc: Lorenzo Stoakes Cc: Mateusz Guzik Cc: Shuah Khan (Samsung OSG) Signed-off-by: Andrew Morton --- diff --git a/tools/testing/selftests/mm/gup_longterm.c b/tools/testing/selftests/mm/gup_longterm.c index 879e9e4e8cce..d2c33dd9da9c 100644 --- a/tools/testing/selftests/mm/gup_longterm.c +++ b/tools/testing/selftests/mm/gup_longterm.c @@ -96,7 +96,15 @@ static void do_test(int fd, size_t size, enum test_type type, bool shared) int ret; if (ftruncate(fd, size)) { - ksft_test_result_fail("ftruncate() failed (%s)\n", strerror(errno)); + if (errno == ENOENT) { + /* + * This can happen if the file has been unlinked and the + * filesystem doesn't support truncating unlinked files. + */ + ksft_test_result_skip("ftruncate() failed with ENOENT"); + } else { + ksft_test_result_fail("ftruncate() failed (%s)\n", strerror(errno)); + } return; }