git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: t0032 fails on NFS mounts

From
Jeff King <peff@peff.net>
Date
Mar 13, 2024, 07:20 UTC
Message-ID
<20240313072052.GC125150@coredump.intra.peff.net>
In-Reply-To
<ZfBwZTL9zqDsac5m@manet.1015granger.net>
+cc Patrick for reftable
On Tue, Mar 12, 2024 at 11:10:29AM -0400, Chuck Lever wrote:
Show 10 quoted lines
> Unit test t0032 fails when run on an NFS mount:
> 
> [vagrant@cel t]$ ./t0032-reftable-unittest.sh 
> not ok 1 - unittests
> #	
> #		TMPDIR=$(pwd) && export TMPDIR &&
> #		test-tool reftable
> #	
> # failed 1 among 1 test(s)
> 1..1

The output for this test script is particularly unhelpful because it's not using our test harness at all, but just running a bunch of internal tests using a single program.

Running with "-v" should give more details about what's failing.
I set up a basic loopback server like:
  mkdir /mnt/{server,client}
  exportfs -o rw,sync 127.0.0.1:/mnt/server
  mount -t nfs 127.0.0.1:/mnt/server /mnt/client
and then ran:
  ./t0032-reftable-unittest.sh --root=/mnt/client -v
Looks like it fails at:
  running test_reftable_stack_compaction_concurrent_clean
  reftable/stack_test.c: 1063: failed assertion count_dir_entries(dir) == 2
  Aborted
> v2.43.2 seems to work OK.

For me, too. Bisecting shows the problem appearing in 4f36b8597c (reftable/stack: fix race in up-to-date check, 2024-01-18).

-Peff
PS That test seems to run ~20x slower on NFS versus directly on ext4.
   I'd expect a little overhead, but that's quite a bit.
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 4 of 10 in “t0032 fails on NFS mounts”
  1. Chuck LeverMar 12, 2024
  2. rsbecker@nexbridge.comMar 12, 2024
  3. Patrick SteinhardtMar 21, 2024
  4. Jeff KingMar 13, 2024
  5. Patrick SteinhardtMar 15, 2024
  6. Junio C HamanoMar 15, 2024
  7. Patrick SteinhardtMar 21, 2024
  8. reftable: fix tests being broken by NFS' delete-after-close semanticsPatrick Steinhardt, Mar 21, 2024
  9. Junio C HamanoMar 21, 2024
  10. Toon ClaesMar 22, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.