From: Andrea Cervesato via ltp <ltp@lists.linux.it>
To: "Wake Liu" <wakel@google.com>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH] inode01: Increase dev_min_size to prevent ENOSPC on exfat
Date: Mon, 31 Aug 2026 08:45:29 +0000 [thread overview]
Message-ID: <6a953f29.55a5960c.18cfbe.85e5@mx.google.com> (raw)
In-Reply-To: <20260828114100.2356329-1-wakel@google.com>
Hi Wake,
the agent couldn't complete because patch didn't apply, so I will
send you the complete review from a local instance.
On Aug 31, 2026, Wake Liu wrote:
> inode01: Increase dev_min_size to prevent ENOSPC on exfat
> On exfat, each file and directory occupies at least one cluster (default
> 32 KB for volumes > 256 MB), which requires ~350 MB of data clusters.
The test does not let mkfs.exfat pick the default cluster size. Master
already forces 4 KB:
.filesystems = (struct tst_fs[]) {
{.type = "exfat", .mkfs_opts = (const char *const[]) {"-c", "4K", NULL}},
{}
},
That comes from 4bf4da8c6fda ("inode01: Configure 4KB cluster size on
exfat to prevent ENOSPC"), merged on 2026-08-13, which targets this
exact ENOSPC.
So the "default 32 KB" premise does not hold here and the ~350 MB figure
does not follow.
> The parallel scenario concurrently spawns multiple workers (default 5),
> each creating 2,185 files and directories, totaling 10,925 objects.
The object count matches. With depth=6 fanout=6 each level creates 3
dirs and 3 files, and the 3 dirs recurse, giving 2184 objects plus the
per-worker root created at inode01.c:214, so 2185 per worker and 10925
in total.
But at the 4 KB cluster size actually in use that is ~43 MB, not
~350 MB. Each file holds repetitions=8 records of strlen(path) bytes
(inode01.c:60-61), well under one cluster, and each directory holds only
6 entries, so every object costs exactly one cluster.
512 MB leaves roughly an order of magnitude of headroom.
> inode01.c:61: TBROK: write(3,...) failed: ENOSPC (28)
> inode01.c:64: TBROK: mkdir(...) failed: ENOSPC (28)
This is the same file and the same two line numbers as the log already
quoted in ecf418722780. Was this reproduced on a tree that contains
4bf4da8c6fda?
If the failure is still real there, the numbers above say the cause is
not the cluster size, and doubling the device would hide it rather than
fix it. Could a fresh log be posted together with the geometry mkfs.exfat
actually produced (its output, or dumpexfat on the formatted device)?
> - .dev_min_size = 512,
> + .dev_min_size = 1024,
dev_min_size is not only the loop device size. With .all_filesystems = 1
tmpfs is also exercised (lib/tst_supported_fs_types.c:34), and the tmpfs
mount is sized from it (lib/tst_test.c:1246-1268):
if (!tst_test->dev_min_size)
tmpfs_size = 32;
else
tmpfs_size = tdev.size;
if ((tst_available_mem() / 1024) < (tmpfs_size * 2))
tst_brk(TCONF, "No enough memory for tmpfs use");
tdev.size is the acquired device size (lib/tst_test.c:1573), so this
raises the available-memory requirement from 1 GB to 2 GB.
That tst_brk() runs inside prepare_device(), which run_tcase_on_fs()
calls in the parent before fork_testrun() (lib/tst_test.c:1984-1997), so
it aborts the whole run rather than skipping the tmpfs pass.
There is no per-filesystem way out either: dev_min_size is global, and
struct tst_fs.mkfs_size_opt can only limit a filesystem below the device
size (include/tst_test.h:267-270).
Given the ~43 MB actual footprint, is this cost intended?
Verdict - Needs revision
---
Note:
The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.
Regards,
LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2026-08-31 8:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 11:41 [LTP] [PATCH] inode01: Increase dev_min_size to prevent ENOSPC on exfat Wake Liu via ltp
2026-08-31 8:45 ` Andrea Cervesato via ltp [this message]
2026-09-01 9:55 ` Wake Liu via ltp
-- strict thread matches above, loose matches on Subject: below --
2026-08-24 8:56 Wake Liu via ltp
2026-08-24 10:18 ` Avinesh Kumar via ltp
2026-08-25 7:38 ` Wake Liu via ltp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6a953f29.55a5960c.18cfbe.85e5@mx.google.com \
--to=ltp@lists.linux.it \
--cc=andrea.cervesato@suse.com \
--cc=wakel@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox