summaryrefslogtreecommitdiff
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorMateusz Guzik <mjguzik@gmail.com>2025-10-09 09:59:15 +0200
committerChristian Brauner <brauner@kernel.org>2025-10-20 20:22:26 +0200
commitaf6023e2ce0a3d4d948885d464b0ddca4b8b1fdf (patch)
treeeaea9d486c1881dff4da852af318e4a1522c6879 /include/linux/fs.h
parent31e332b911fca54df467d264d7e2a2ef9317f3ca (diff)
fs: move wait_on_inode() from writeback.h to fs.h
The only consumer outside of fs/inode.c is gfs2 and it already includes fs.h in the relevant file. Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index ac62b9d10b00..b35014ba681b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -949,6 +949,16 @@ static inline void inode_fake_hash(struct inode *inode)
hlist_add_fake(&inode->i_hash);
}
+static inline void wait_on_inode(struct inode *inode)
+{
+ wait_var_event(inode_state_wait_address(inode, __I_NEW),
+ !(READ_ONCE(inode->i_state) & I_NEW));
+ /*
+ * Pairs with routines clearing I_NEW.
+ */
+ smp_rmb();
+}
+
/*
* inode->i_rwsem nesting subclasses for the lock validator:
*