Unverified Commit af6023e2 authored by Mateusz Guzik's avatar Mateusz Guzik Committed by Christian Brauner
Browse files

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: default avatarMateusz Guzik <mjguzik@gmail.com>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 31e332b9
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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:
 *
+0 −11
Original line number Diff line number Diff line
@@ -189,17 +189,6 @@ void wakeup_flusher_threads_bdi(struct backing_dev_info *bdi,
void inode_wait_for_writeback(struct inode *inode);
void inode_io_list_del(struct inode *inode);

/* writeback.h requires fs.h; it, too, is not included from here. */
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();
}

#ifdef CONFIG_CGROUP_WRITEBACK

#include <linux/cgroup.h>