Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Oct 2025 14:47:11 GMT
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: d1bd541b385d - main - fusefs: fix intermittency in the BadServer.ShortWrite test
Message-ID:  <202510141447.59EElBea085189@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by asomers:

URL: https://cgit.FreeBSD.org/src/commit/?id=d1bd541b385d49d2ae3a8bad9df72779b606e208

commit d1bd541b385d49d2ae3a8bad9df72779b606e208
Author:     Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2025-10-14 02:18:48 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2025-10-14 14:46:54 +0000

    fusefs: fix intermittency in the BadServer.ShortWrite test
    
    This test implicitly depended on the order in which two threads
    completed.  If the test thread finished first, the test would pass.  But
    if the mock file system thread did, it would attempt to read from an
    unmounted file system, and fail.  As a result, the test would randomly
    fail once out of every several thousand executions.  Fix it by telling
    the mock file system's event loop to exit without attempting to read any
    more events.
    
    Reported by:    Siva Mahadevan <me@svmhdvn.name>
    MFC after:      1 week
    Reviewed by:    Siva Mahadevan <me@svmhdvn.name>
    Differential Revision: https://reviews.freebsd.org/D53080
---
 tests/sys/fs/fusefs/bad_server.cc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/sys/fs/fusefs/bad_server.cc b/tests/sys/fs/fusefs/bad_server.cc
index af2ca146e431..c3d195735446 100644
--- a/tests/sys/fs/fusefs/bad_server.cc
+++ b/tests/sys/fs/fusefs/bad_server.cc
@@ -65,6 +65,11 @@ TEST_F(BadServer, ShortWrite)
 	out.header.unique = 0;			// Asynchronous notification
 	out.expected_errno = EINVAL;
 	m_mock->write_response(out);
+	/*
+	 * Tell the event loop to quit.  The kernel has already disconnected us
+	 * because of the short write.
+	 */
+	m_mock->m_quit = true;
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510141447.59EElBea085189>