From: Chuck Lever The original code confused a zero return code from pagevec_add() as success. Test plan: None. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust Signed-off-by: Andrew Morton --- fs/nfs/dir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN fs/nfs/dir.c~nfs-fix-minor-bug-in-new-nfs-symlink-code fs/nfs/dir.c --- a/fs/nfs/dir.c~nfs-fix-minor-bug-in-new-nfs-symlink-code +++ a/fs/nfs/dir.c @@ -1519,8 +1519,8 @@ static int nfs_symlink(struct inode *dir pagevec_init(&lru_pvec, 0); if (!add_to_page_cache(page, dentry->d_inode->i_mapping, 0, GFP_KERNEL)) { - if (!pagevec_add(&lru_pvec, page)) - __pagevec_lru_add(&lru_pvec); + pagevec_add(&lru_pvec, page); + pagevec_lru_add(&lru_pvec); SetPageUptodate(page); unlock_page(page); } else _