Skip to content

Commit

Permalink
fuse: don't WARN when nlink is zero
Browse files Browse the repository at this point in the history
drop_nlink() warns if nlink is already zero.  This is triggerable by a buggy
userspace filesystem.  The cure, I think, is worse than the disease so disable
the warning.

Reported-by: Tero Roponen <[email protected]>
Signed-off-by: Miklos Szeredi <[email protected]>
  • Loading branch information
Miklos Szeredi committed Feb 4, 2013
1 parent 6a4e922 commit dfca7ce
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion fs/fuse/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -705,7 +705,14 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)

spin_lock(&fc->lock);
fi->attr_version = ++fc->attr_version;
drop_nlink(inode);
/*
* If i_nlink == 0 then unlink doesn't make sense, yet this can
* happen if userspace filesystem is careless. It would be
* difficult to enforce correct nlink usage so just ignore this
* condition here
*/
if (inode->i_nlink > 0)
drop_nlink(inode);
spin_unlock(&fc->lock);
fuse_invalidate_attr(inode);
fuse_invalidate_attr(dir);
Expand Down

0 comments on commit dfca7ce

Please sign in to comment.