]> www.infradead.org Git - users/hch/misc.git/commitdiff
introduced guards for mount_lock
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 20 Aug 2025 23:54:45 +0000 (19:54 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 2 Sep 2025 23:35:56 +0000 (19:35 -0400)
mount_writer: write_seqlock; that's an equivalent of {un,}lock_mount_hash()
mount_locked_reader: read_seqlock_excl; these tend to be open-coded.

No bulk conversions, please - if nothing else, quite a few places take
use mount_writer form when mount_locked_reader is sufficent.  It needs
to be dealt with carefully.

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/mount.h

index 97737051a8b9df274413922229339dfd8c8e1b56..ed8c83ba836a7418d849c0cb3f3812aa01791e8b 100644 (file)
@@ -154,6 +154,11 @@ static inline void get_mnt_ns(struct mnt_namespace *ns)
 
 extern seqlock_t mount_lock;
 
+DEFINE_LOCK_GUARD_0(mount_writer, write_seqlock(&mount_lock),
+                   write_sequnlock(&mount_lock))
+DEFINE_LOCK_GUARD_0(mount_locked_reader, read_seqlock_excl(&mount_lock),
+                   read_sequnlock_excl(&mount_lock))
+
 struct proc_mounts {
        struct mnt_namespace *ns;
        struct path root;