Index: linux-2.6.17-rc6-cl/fs/nfs/write.c =================================================================== --- linux-2.6.17-rc6-cl.orig/fs/nfs/write.c 2006-06-12 13:37:47.321243148 -0700 +++ linux-2.6.17-rc6-cl/fs/nfs/write.c 2006-06-12 15:26:20.438229555 -0700 @@ -524,8 +524,8 @@ nfs_mark_request_commit(struct nfs_page spin_lock(&nfsi->req_lock); nfs_list_add_request(req, &nfsi->commit); nfsi->ncommit++; + __inc_zone_page_state(req->wb_page, NR_UNSTABLE); spin_unlock(&nfsi->req_lock); - inc_zone_page_state(req->wb_page, NR_UNSTABLE); mark_inode_dirty(inode); } #endif @@ -1419,7 +1419,6 @@ static void nfs_commit_done(struct rpc_t nfs_mark_request_dirty(req); next: nfs_clear_page_writeback(req); - dec_zone_page_state(req->wb_page, NR_UNSTABLE); } } Index: linux-2.6.17-rc6-cl/fs/nfs/pagelist.c =================================================================== --- linux-2.6.17-rc6-cl.orig/fs/nfs/pagelist.c 2006-06-12 13:37:47.123013234 -0700 +++ linux-2.6.17-rc6-cl/fs/nfs/pagelist.c 2006-06-12 15:20:11.865328253 -0700 @@ -154,6 +154,7 @@ void nfs_clear_request(struct nfs_page * { struct page *page = req->wb_page; if (page != NULL) { + dec_zone_page_state(page, NR_UNSTABLE); page_cache_release(page); req->wb_page = NULL; }