[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260106233349.GL191501@frogsfrogsfrogs>
Date: Tue, 6 Jan 2026 15:33:49 -0800
From: "Darrick J. Wong" <djwong@...nel.org>
To: jack@...e.cz, brauner@...nel.org
Cc: linux-api@...r.kernel.org, hch@....de, linux-ext4@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
gabriel@...sman.be, amir73il@...il.com
Subject: [PATCH 7/6] fs: improve comment in fserror_alloc_event
From: Darrick J. Wong <djwong@...nel.org>
Document the ordering requirements between SB_ACTIVE and
s_pending_errors in the new fserror code.
Cc: jack@...e.cz
Signed-off-by: "Darrick J. Wong" <djwong@...nel.org>
---
fs/fserror.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/fs/fserror.c b/fs/fserror.c
index ec92f5a6db59ce..06ca86adab9b76 100644
--- a/fs/fserror.c
+++ b/fs/fserror.c
@@ -79,6 +79,11 @@ static inline struct fserror_event *fserror_alloc_event(struct super_block *sb,
* If pending_errors already reached zero or is no longer active,
* the superblock is being deactivated so there's no point in
* continuing.
+ *
+ * The order of the check of s_pending_errors and SB_ACTIVE are
+ * mandated by order of accesses in generic_shutdown_super and
+ * fserror_unmount. Barriers are implicitly provided by the refcount
+ * manipulations in this function and fserror_unmount.
*/
if (!refcount_inc_not_zero(&sb->s_pending_errors))
return NULL;
Powered by blists - more mailing lists