aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-05-25 01:40:47 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-06-09 09:34:04 -0400
commit73a3d07c1082145a3b78407bb5252df290470c4c (patch)
tree58ae6256401e19750f2d5f916c1ca5636a14905b /fs
parent9d1e9232223a7f065be7f956a7b749a4cbbbe16d (diff)
NFS: Clean up inode metadata updates
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/inode.c12
-rw-r--r--fs/nfs/nfs4proc.c2
2 files changed, 1 insertions, 13 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index e870e4aae714..4f12c57456f4 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -1360,12 +1360,6 @@ static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1360{ 1360{
1361 struct nfs_inode *nfsi = NFS_I(inode); 1361 struct nfs_inode *nfsi = NFS_I(inode);
1362 1362
1363 if ((fattr->valid & NFS_ATTR_PRE_CHANGE) != 0
1364 && nfsi->change_attr == fattr->pre_change_attr) {
1365 nfsi->change_attr = fattr->change_attr;
1366 nfsi->cache_change_attribute = jiffies;
1367 }
1368
1369 /* If we have atomic WCC data, we may update some attributes */ 1363 /* If we have atomic WCC data, we may update some attributes */
1370 if ((fattr->valid & NFS_ATTR_WCC) != 0) { 1364 if ((fattr->valid & NFS_ATTR_WCC) != 0) {
1371 if (timespec_equal(&inode->i_ctime, &fattr->pre_ctime)) { 1365 if (timespec_equal(&inode->i_ctime, &fattr->pre_ctime)) {
@@ -1399,9 +1393,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
1399 int data_unstable; 1393 int data_unstable;
1400 1394
1401 1395
1402 if ((fattr->valid & NFS_ATTR_FATTR) == 0)
1403 return 0;
1404
1405 /* Has the inode gone and changed behind our back? */ 1396 /* Has the inode gone and changed behind our back? */
1406 if (nfsi->fileid != fattr->fileid 1397 if (nfsi->fileid != fattr->fileid
1407 || (inode->i_mode & S_IFMT) != (fattr->mode & S_IFMT)) { 1398 || (inode->i_mode & S_IFMT) != (fattr->mode & S_IFMT)) {
@@ -1525,9 +1516,6 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
1525 __FUNCTION__, inode->i_sb->s_id, inode->i_ino, 1516 __FUNCTION__, inode->i_sb->s_id, inode->i_ino,
1526 atomic_read(&inode->i_count), fattr->valid); 1517 atomic_read(&inode->i_count), fattr->valid);
1527 1518
1528 if ((fattr->valid & NFS_ATTR_FATTR) == 0)
1529 return 0;
1530
1531 if (nfsi->fileid != fattr->fileid) 1519 if (nfsi->fileid != fattr->fileid)
1532 goto out_fileid; 1520 goto out_fileid;
1533 1521
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index d86c0db7b1e8..e38a84874492 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2008,7 +2008,7 @@ static int _nfs4_proc_link(struct inode *inode, struct inode *dir, struct qstr *
2008 if (!status) { 2008 if (!status) {
2009 update_changeattr(dir, &res.cinfo); 2009 update_changeattr(dir, &res.cinfo);
2010 nfs_post_op_update_inode(dir, res.dir_attr); 2010 nfs_post_op_update_inode(dir, res.dir_attr);
2011 nfs_refresh_inode(inode, res.fattr); 2011 nfs_post_op_update_inode(inode, res.fattr);
2012 } 2012 }
2013 2013
2014 return status; 2014 return status;