aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r--fs/nfs/inode.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
index d722a0e84361..1d507a2a96d6 100644
--- a/fs/nfs/inode.c
+++ b/fs/nfs/inode.c
@@ -85,7 +85,6 @@ void nfs_clear_inode(struct inode *inode)
85 */ 85 */
86 BUG_ON(nfs_have_writebacks(inode)); 86 BUG_ON(nfs_have_writebacks(inode));
87 BUG_ON(!list_empty(&NFS_I(inode)->open_files)); 87 BUG_ON(!list_empty(&NFS_I(inode)->open_files));
88 BUG_ON(atomic_read(&NFS_I(inode)->data_updates) != 0);
89 nfs_zap_acl_cache(inode); 88 nfs_zap_acl_cache(inode);
90 nfs_access_zap_cache(inode); 89 nfs_access_zap_cache(inode);
91} 90}
@@ -757,16 +756,6 @@ out:
757} 756}
758 757
759/** 758/**
760 * nfs_begin_data_update
761 * @inode - pointer to inode
762 * Declare that a set of operations will update file data on the server
763 */
764void nfs_begin_data_update(struct inode *inode)
765{
766 atomic_inc(&NFS_I(inode)->data_updates);
767}
768
769/**
770 * nfs_end_data_update 759 * nfs_end_data_update
771 * @inode - pointer to inode 760 * @inode - pointer to inode
772 * Declare end of the operations that will update file data 761 * Declare end of the operations that will update file data
@@ -775,15 +764,12 @@ void nfs_begin_data_update(struct inode *inode)
775 */ 764 */
776void nfs_end_data_update(struct inode *inode) 765void nfs_end_data_update(struct inode *inode)
777{ 766{
778 struct nfs_inode *nfsi = NFS_I(inode);
779
780 /* Directories: invalidate page cache */ 767 /* Directories: invalidate page cache */
781 if (S_ISDIR(inode->i_mode)) { 768 if (S_ISDIR(inode->i_mode)) {
782 spin_lock(&inode->i_lock); 769 spin_lock(&inode->i_lock);
783 nfsi->cache_validity |= NFS_INO_INVALID_DATA; 770 NFS_I(inode)->cache_validity |= NFS_INO_INVALID_DATA;
784 spin_unlock(&inode->i_lock); 771 spin_unlock(&inode->i_lock);
785 } 772 }
786 atomic_dec(&nfsi->data_updates);
787} 773}
788 774
789static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr) 775static void nfs_wcc_update_inode(struct inode *inode, struct nfs_fattr *fattr)
@@ -823,7 +809,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
823{ 809{
824 struct nfs_inode *nfsi = NFS_I(inode); 810 struct nfs_inode *nfsi = NFS_I(inode);
825 loff_t cur_size, new_isize; 811 loff_t cur_size, new_isize;
826 int data_unstable;
827 812
828 813
829 /* Has the inode gone and changed behind our back? */ 814 /* Has the inode gone and changed behind our back? */
@@ -832,9 +817,6 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat
832 return -EIO; 817 return -EIO;
833 } 818 }
834 819
835 /* Are we in the process of updating data on the server? */
836 data_unstable = nfs_caches_unstable(inode);
837
838 /* Do atomic weak cache consistency updates */ 820 /* Do atomic weak cache consistency updates */
839 nfs_wcc_update_inode(inode, fattr); 821 nfs_wcc_update_inode(inode, fattr);
840 822
@@ -1162,7 +1144,6 @@ static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flag
1162 INIT_LIST_HEAD(&nfsi->access_cache_entry_lru); 1144 INIT_LIST_HEAD(&nfsi->access_cache_entry_lru);
1163 INIT_LIST_HEAD(&nfsi->access_cache_inode_lru); 1145 INIT_LIST_HEAD(&nfsi->access_cache_inode_lru);
1164 INIT_RADIX_TREE(&nfsi->nfs_page_tree, GFP_ATOMIC); 1146 INIT_RADIX_TREE(&nfsi->nfs_page_tree, GFP_ATOMIC);
1165 atomic_set(&nfsi->data_updates, 0);
1166 nfsi->ncommit = 0; 1147 nfsi->ncommit = 0;
1167 nfsi->npages = 0; 1148 nfsi->npages = 0;
1168 nfs4_init_once(nfsi); 1149 nfs4_init_once(nfsi);