Commit 6c34f05b authored by Trond Myklebust's avatar Trond Myklebust

NFS: If the cookie verifier changes, we must invalidate the page cache

Ensure that if the cookie verifier changes when we use the zero-valued
cookie, then we invalidate any cached pages.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 580f2367
......@@ -990,9 +990,14 @@ static int find_and_lock_cache_page(struct nfs_readdir_descriptor *desc)
/*
* Set the cookie verifier if the page cache was empty
*/
if (desc->page_index == 0)
if (desc->last_cookie == 0 &&
memcmp(nfsi->cookieverf, verf, sizeof(nfsi->cookieverf))) {
memcpy(nfsi->cookieverf, verf,
sizeof(nfsi->cookieverf));
invalidate_inode_pages2_range(desc->file->f_mapping,
desc->page_index_max + 1,
-1);
}
}
res = nfs_readdir_search_array(desc);
if (res == 0)
......
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