]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
selftests/mm: skip map_populate on weird filesystems
authorBrendan Jackman <jackmanb@google.com>
Fri, 21 Feb 2025 18:25:47 +0000 (18:25 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 28 Feb 2025 01:00:28 +0000 (17:00 -0800)
It seems that 9pfs does not allow truncating unlinked files, Mark Brown
has noted that NFS may also behave this way.

It doesn't seem quite right to call this a "bug" but it's probably a
special enough case that it makes sense for the test to just SKIP if it
happens.

Link: https://lkml.kernel.org/r/20250221-mm-selftests-v2-8-28c4d66383c5@google.com
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Cc: Dev Jain <dev.jain@arm.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/mm/map_populate.c

index 5c8a53869b1bd287b09a250edf628a66c25c2439..cdd88531dd9fe98f2d25edf4878659767c919e8e 100644 (file)
@@ -87,6 +87,13 @@ int main(int argc, char **argv)
        BUG_ON(!ftmp, "tmpfile()");
 
        ret = ftruncate(fileno(ftmp), MMAP_SZ);
+       if (ret < 0 && errno == ENOENT) {
+               /*
+                * This probably means tmpfile() made a file on a filesystem
+                * that doesn't handle temporary files the way we want.
+                */
+               ksft_exit_skip("ftruncate(fileno(tmpfile())) gave ENOENT, weird filesystem?");
+       }
        BUG_ON(ret, "ftruncate()");
 
        smap = mmap(0, MMAP_SZ, PROT_READ | PROT_WRITE,