diff --git a/fs/inode.c b/fs/inode.c index b2ba83d2c4e12425629ed3681f2d2ca2d147f2e1..a99b46498199c646c8a967e44e399f270e9e5ed3 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -702,6 +702,7 @@ void unlock_new_inode(struct inode *inode) * just created it (so there can be no old holders * that haven't tested I_LOCK). */ + smp_mb(); WARN_ON((inode->i_state & (I_LOCK|I_NEW)) != (I_LOCK|I_NEW)); inode->i_state &= ~(I_LOCK|I_NEW); wake_up_inode(inode);