Messages in this thread | | | Subject | Re: [PATCH 31/35] nfs: dont change wbc->nr_to_write in write_inode() | From | Trond Myklebust <> | Date | Mon, 13 Dec 2010 16:01:44 -0500 |
| |
On Mon, 2010-12-13 at 22:47 +0800, Wu Fengguang wrote: > plain text document attachment > (writeback-nfs-commit-remove-nr_to_write.patch) > It's introduced in commit 420e3646 ("NFS: Reduce the number of > unnecessary COMMIT calls") and seems not necessary. > > CC: Trond Myklebust <Trond.Myklebust@netapp.com> > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> > --- > fs/nfs/write.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > --- linux-next.orig/fs/nfs/write.c 2010-12-13 21:46:21.000000000 +0800 > +++ linux-next/fs/nfs/write.c 2010-12-13 21:46:22.000000000 +0800 > @@ -1557,15 +1557,8 @@ static int nfs_commit_unstable_pages(str > } > > ret = nfs_commit_inode(inode, flags); > - if (ret >= 0) { > - if (wbc->sync_mode == WB_SYNC_NONE) { > - if (ret < wbc->nr_to_write) > - wbc->nr_to_write -= ret; > - else > - wbc->nr_to_write = 0; > - } > + if (ret >= 0) > return 0; > - } > out_mark_dirty: > __mark_inode_dirty(inode, I_DIRTY_DATASYNC); > return ret;
It is there in order to tell the VM that it has succeeded in freeing up a certain number of pages. Otherwise, we end up cycling forever in writeback_sb_inodes() & friends with the latter not realising that they have made progress.
Cheers Trond
-- Trond Myklebust Linux NFS client maintainer
NetApp Trond.Myklebust@netapp.com www.netapp.com
| |