Commit dfca7ceb authored by Miklos Szeredi's avatar Miklos Szeredi

fuse: don't WARN when nlink is zero

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: default avatarTero Roponen <tero.roponen@gmail.com>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
parent 6a4e922c
...@@ -705,6 +705,13 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry) ...@@ -705,6 +705,13 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
spin_lock(&fc->lock); spin_lock(&fc->lock);
fi->attr_version = ++fc->attr_version; fi->attr_version = ++fc->attr_version;
/*
* 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); drop_nlink(inode);
spin_unlock(&fc->lock); spin_unlock(&fc->lock);
fuse_invalidate_attr(inode); fuse_invalidate_attr(inode);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment