Commit 2aefa104 authored by Trond Myklebust's avatar Trond Myklebust

NFS: Remove the redundant 'dirty' and 'commit' lists from nfs_inode

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 5c369683
...@@ -1149,14 +1149,11 @@ static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flag ...@@ -1149,14 +1149,11 @@ static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flag
inode_init_once(&nfsi->vfs_inode); inode_init_once(&nfsi->vfs_inode);
spin_lock_init(&nfsi->req_lock); spin_lock_init(&nfsi->req_lock);
INIT_LIST_HEAD(&nfsi->dirty);
INIT_LIST_HEAD(&nfsi->commit);
INIT_LIST_HEAD(&nfsi->open_files); INIT_LIST_HEAD(&nfsi->open_files);
INIT_LIST_HEAD(&nfsi->access_cache_entry_lru); INIT_LIST_HEAD(&nfsi->access_cache_entry_lru);
INIT_LIST_HEAD(&nfsi->access_cache_inode_lru); INIT_LIST_HEAD(&nfsi->access_cache_inode_lru);
INIT_RADIX_TREE(&nfsi->nfs_page_tree, GFP_ATOMIC); INIT_RADIX_TREE(&nfsi->nfs_page_tree, GFP_ATOMIC);
atomic_set(&nfsi->data_updates, 0); atomic_set(&nfsi->data_updates, 0);
nfsi->ndirty = 0;
nfsi->ncommit = 0; nfsi->ncommit = 0;
nfsi->npages = 0; nfsi->npages = 0;
nfs4_init_once(nfsi); nfs4_init_once(nfsi);
......
...@@ -459,7 +459,6 @@ nfs_mark_request_commit(struct nfs_page *req) ...@@ -459,7 +459,6 @@ nfs_mark_request_commit(struct nfs_page *req)
struct nfs_inode *nfsi = NFS_I(inode); struct nfs_inode *nfsi = NFS_I(inode);
spin_lock(&nfsi->req_lock); spin_lock(&nfsi->req_lock);
nfs_list_add_request(req, &nfsi->commit);
nfsi->ncommit++; nfsi->ncommit++;
set_bit(PG_NEED_COMMIT, &(req)->wb_flags); set_bit(PG_NEED_COMMIT, &(req)->wb_flags);
radix_tree_tag_set(&nfsi->nfs_page_tree, radix_tree_tag_set(&nfsi->nfs_page_tree,
...@@ -581,8 +580,6 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, pgoff_t idx_start, u ...@@ -581,8 +580,6 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, pgoff_t idx_start, u
res = nfs_scan_list(nfsi, dst, idx_start, npages, res = nfs_scan_list(nfsi, dst, idx_start, npages,
NFS_PAGE_TAG_COMMIT); NFS_PAGE_TAG_COMMIT);
nfsi->ncommit -= res; nfsi->ncommit -= res;
if ((nfsi->ncommit == 0) != list_empty(&nfsi->commit))
printk(KERN_ERR "NFS: desynchronized value of nfs_i.ncommit.\n");
} }
return res; return res;
} }
......
...@@ -156,12 +156,9 @@ struct nfs_inode { ...@@ -156,12 +156,9 @@ struct nfs_inode {
* This is the list of dirty unwritten pages. * This is the list of dirty unwritten pages.
*/ */
spinlock_t req_lock; spinlock_t req_lock;
struct list_head dirty;
struct list_head commit;
struct radix_tree_root nfs_page_tree; struct radix_tree_root nfs_page_tree;
unsigned int ndirty, unsigned int ncommit,
ncommit,
npages; npages;
/* Open contexts for shared mmap writes */ /* Open contexts for shared mmap writes */
......
...@@ -34,8 +34,7 @@ ...@@ -34,8 +34,7 @@
struct nfs_inode; struct nfs_inode;
struct nfs_page { struct nfs_page {
struct list_head wb_list, /* Defines state of page: */ struct list_head wb_list; /* Defines state of page: */
*wb_list_head; /* read/write/commit */
struct page *wb_page; /* page to read in/write out */ struct page *wb_page; /* page to read in/write out */
struct nfs_open_context *wb_context; /* File state context info */ struct nfs_open_context *wb_context; /* File state context info */
atomic_t wb_complete; /* i/os we're waiting for */ atomic_t wb_complete; /* i/os we're waiting for */
...@@ -118,7 +117,6 @@ static inline void ...@@ -118,7 +117,6 @@ static inline void
nfs_list_add_request(struct nfs_page *req, struct list_head *head) nfs_list_add_request(struct nfs_page *req, struct list_head *head)
{ {
list_add_tail(&req->wb_list, head); list_add_tail(&req->wb_list, head);
req->wb_list_head = head;
} }
...@@ -132,7 +130,6 @@ nfs_list_remove_request(struct nfs_page *req) ...@@ -132,7 +130,6 @@ nfs_list_remove_request(struct nfs_page *req)
if (list_empty(&req->wb_list)) if (list_empty(&req->wb_list))
return; return;
list_del_init(&req->wb_list); list_del_init(&req->wb_list);
req->wb_list_head = NULL;
} }
static inline struct nfs_page * static inline struct nfs_page *
......
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