Fixed goto readability in nfs_update_inode.
Simplified error gotos to make it slightly easier to read, it doesn't affect the functionality of the routine. Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
39ffb9218e
commit
e73e6c9e85
|
@ -1275,14 +1275,26 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
|
||||||
nfs_display_fhandle_hash(NFS_FH(inode)),
|
nfs_display_fhandle_hash(NFS_FH(inode)),
|
||||||
atomic_read(&inode->i_count), fattr->valid);
|
atomic_read(&inode->i_count), fattr->valid);
|
||||||
|
|
||||||
if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid)
|
if ((fattr->valid & NFS_ATTR_FATTR_FILEID) && nfsi->fileid != fattr->fileid) {
|
||||||
goto out_fileid;
|
printk(KERN_ERR "NFS: server %s error: fileid changed\n"
|
||||||
|
"fsid %s: expected fileid 0x%Lx, got 0x%Lx\n",
|
||||||
|
NFS_SERVER(inode)->nfs_client->cl_hostname,
|
||||||
|
inode->i_sb->s_id, (long long)nfsi->fileid,
|
||||||
|
(long long)fattr->fileid);
|
||||||
|
goto out_err;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure the inode's type hasn't changed.
|
* Make sure the inode's type hasn't changed.
|
||||||
*/
|
*/
|
||||||
if ((fattr->valid & NFS_ATTR_FATTR_TYPE) && (inode->i_mode & S_IFMT) != (fattr->mode & S_IFMT))
|
if ((fattr->valid & NFS_ATTR_FATTR_TYPE) && (inode->i_mode & S_IFMT) != (fattr->mode & S_IFMT)) {
|
||||||
goto out_changed;
|
/*
|
||||||
|
* Big trouble! The inode has become a different object.
|
||||||
|
*/
|
||||||
|
printk(KERN_DEBUG "NFS: %s: inode %ld mode changed, %07o to %07o\n",
|
||||||
|
__func__, inode->i_ino, inode->i_mode, fattr->mode);
|
||||||
|
goto out_err;
|
||||||
|
}
|
||||||
|
|
||||||
server = NFS_SERVER(inode);
|
server = NFS_SERVER(inode);
|
||||||
/* Update the fsid? */
|
/* Update the fsid? */
|
||||||
|
@ -1443,12 +1455,6 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
|
||||||
nfsi->cache_validity |= invalid;
|
nfsi->cache_validity |= invalid;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
out_changed:
|
|
||||||
/*
|
|
||||||
* Big trouble! The inode has become a different object.
|
|
||||||
*/
|
|
||||||
printk(KERN_DEBUG "NFS: %s: inode %ld mode changed, %07o to %07o\n",
|
|
||||||
__func__, inode->i_ino, inode->i_mode, fattr->mode);
|
|
||||||
out_err:
|
out_err:
|
||||||
/*
|
/*
|
||||||
* No need to worry about unhashing the dentry, as the
|
* No need to worry about unhashing the dentry, as the
|
||||||
|
@ -1457,13 +1463,6 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
|
||||||
*/
|
*/
|
||||||
nfs_invalidate_inode(inode);
|
nfs_invalidate_inode(inode);
|
||||||
return -ESTALE;
|
return -ESTALE;
|
||||||
|
|
||||||
out_fileid:
|
|
||||||
printk(KERN_ERR "NFS: server %s error: fileid changed\n"
|
|
||||||
"fsid %s: expected fileid 0x%Lx, got 0x%Lx\n",
|
|
||||||
NFS_SERVER(inode)->nfs_client->cl_hostname, inode->i_sb->s_id,
|
|
||||||
(long long)nfsi->fileid, (long long)fattr->fileid);
|
|
||||||
goto out_err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue