restore smp_mb() in unlock_new_inode()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 10 Mar 2012 22:07:28 +0000 (17:07 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 10 Mar 2012 22:07:28 +0000 (17:07 -0500)
wait_on_inode() doesn't have ->i_lock

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/inode.c

index 8affbc9c211b4d710ad71fb2fbe4b666f8e15103..83ab215baab11bdacbc71d4a2b008d49da9fc003 100644 (file)
@@ -965,6 +965,7 @@ void unlock_new_inode(struct inode *inode)
        spin_lock(&inode->i_lock);
        WARN_ON(!(inode->i_state & I_NEW));
        inode->i_state &= ~I_NEW;
+       smp_mb();
        wake_up_bit(&inode->i_state, __I_NEW);
        spin_unlock(&inode->i_lock);
 }