|
@@ -508,7 +508,7 @@ static int fuse_unlink(struct inode *dir, struct dentry *entry)
|
|
/* Set nlink to zero so the inode can be cleared, if
|
|
/* Set nlink to zero so the inode can be cleared, if
|
|
the inode does have more links this will be
|
|
the inode does have more links this will be
|
|
discovered at the next lookup/getattr */
|
|
discovered at the next lookup/getattr */
|
|
- inode->i_nlink = 0;
|
|
|
|
|
|
+ clear_nlink(inode);
|
|
fuse_invalidate_attr(inode);
|
|
fuse_invalidate_attr(inode);
|
|
fuse_invalidate_attr(dir);
|
|
fuse_invalidate_attr(dir);
|
|
fuse_invalidate_entry_cache(entry);
|
|
fuse_invalidate_entry_cache(entry);
|
|
@@ -534,7 +534,7 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
|
|
err = req->out.h.error;
|
|
err = req->out.h.error;
|
|
fuse_put_request(fc, req);
|
|
fuse_put_request(fc, req);
|
|
if (!err) {
|
|
if (!err) {
|
|
- entry->d_inode->i_nlink = 0;
|
|
|
|
|
|
+ clear_nlink(entry->d_inode);
|
|
fuse_invalidate_attr(dir);
|
|
fuse_invalidate_attr(dir);
|
|
fuse_invalidate_entry_cache(entry);
|
|
fuse_invalidate_entry_cache(entry);
|
|
} else if (err == -EINTR)
|
|
} else if (err == -EINTR)
|