diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-02-08 09:32:27 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-02-23 07:37:51 -0800 |
commit | 5ba0facdbeb73ead6fe04d6bc5947e2fb4f29320 (patch) | |
tree | 81878ee0446c8c121873a78147d2710449e39492 /fs | |
parent | 16e63ecd5d683fe18d91fcd1e6a7f63468f7d805 (diff) | |
download | lwn-5ba0facdbeb73ead6fe04d6bc5947e2fb4f29320.tar.gz lwn-5ba0facdbeb73ead6fe04d6bc5947e2fb4f29320.zip |
NFS: Fix a bug in nfs_fscache_release_page()
commit 2c1740098c708b465e87637b237feb2fd98f129a upstream.
Not having an fscache cookie is perfectly valid if the user didn't mount
with the fscache option.
This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=15234
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/fscache.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c index fa588006588d..237874f1af23 100644 --- a/fs/nfs/fscache.c +++ b/fs/nfs/fscache.c @@ -354,12 +354,11 @@ void nfs_fscache_reset_inode_cookie(struct inode *inode) */ int nfs_fscache_release_page(struct page *page, gfp_t gfp) { - struct nfs_inode *nfsi = NFS_I(page->mapping->host); - struct fscache_cookie *cookie = nfsi->fscache; - - BUG_ON(!cookie); - if (PageFsCache(page)) { + struct nfs_inode *nfsi = NFS_I(page->mapping->host); + struct fscache_cookie *cookie = nfsi->fscache; + + BUG_ON(!cookie); dfprintk(FSCACHE, "NFS: fscache releasepage (0x%p/0x%p/0x%p)\n", cookie, page, nfsi); |