Commit 1301e421 authored by Trond Myklebust's avatar Trond Myklebust

NFSv4: link must update the inode nlink.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 82eae5a4
......@@ -1711,7 +1711,7 @@ static void nfs_drop_nlink(struct inode *inode)
NFS_I(inode)->attr_gencount = nfs_inc_attr_generation_counter();
nfs_set_cache_invalid(
inode, NFS_INO_INVALID_CHANGE | NFS_INO_INVALID_CTIME |
NFS_INO_INVALID_NLINK | NFS_INO_REVAL_FORCED);
NFS_INO_INVALID_NLINK);
spin_unlock(&inode->i_lock);
}
......
......@@ -1175,6 +1175,14 @@ nfs4_inc_nlink_locked(struct inode *inode)
inc_nlink(inode);
}
static void
nfs4_inc_nlink(struct inode *inode)
{
spin_lock(&inode->i_lock);
nfs4_inc_nlink_locked(inode);
spin_unlock(&inode->i_lock);
}
static void
nfs4_dec_nlink_locked(struct inode *inode)
{
......@@ -4791,6 +4799,7 @@ static int _nfs4_proc_link(struct inode *inode, struct inode *dir, const struct
if (!status) {
nfs4_update_changeattr(dir, &res.cinfo, res.fattr->time_start,
NFS_INO_INVALID_DATA);
nfs4_inc_nlink(inode);
status = nfs_post_op_update_inode(inode, res.fattr);
if (!status)
nfs_setsecurity(inode, res.fattr, res.label);
......
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