filelock: use a consume fence in locks_inode_context()

Matches the idiom of storing a pointer with a release fence and safely
getting the content with a consume fence after.

Eliminates an actual fence on some archs.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://patch.msgid.link/20251203094837.290654-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Mateusz Guzik
2025-12-15 14:33:38 +01:00
committed by Christian Brauner
parent 5854fc6391
commit 1fa4e69a54
+4 -1
View File
@@ -241,7 +241,10 @@ bool locks_owner_has_blockers(struct file_lock_context *flctx,
static inline struct file_lock_context *
locks_inode_context(const struct inode *inode)
{
return smp_load_acquire(&inode->i_flctx);
/*
* Paired with the fence in locks_get_lock_context().
*/
return READ_ONCE(inode->i_flctx);
}
#else /* !CONFIG_FILE_LOCKING */