]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/inode.c
allow the temp files created by open() to be linked to
[karo-tx-linux.git] / fs / inode.c
index 00d5fc3b86e12419d2d350032b173009bddcd2cd..d6dfb09c828083b8ba64d3e8aacb2b6a64581038 100644 (file)
@@ -333,8 +333,10 @@ EXPORT_SYMBOL(set_nlink);
  */
 void inc_nlink(struct inode *inode)
 {
-       if (WARN_ON(inode->i_nlink == 0))
+       if (unlikely(inode->i_nlink == 0)) {
+               WARN_ON(!(inode->i_state & I_LINKABLE));
                atomic_long_dec(&inode->i_sb->s_remove_count);
+       }
 
        inode->__i_nlink++;
 }