summaryrefslogtreecommitdiff
path: root/fs/nfs/nfsroot.c
diff options
context:
space:
mode:
authorIdan Kedar <idank@tonian.com>2012-08-02 08:47:10 (GMT)
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-08-02 21:38:54 (GMT)
commit8554116e17eef055d9dd58a94b3427cb2ad1c317 (patch)
tree75cb529c3ab86a496536a285542d79d064284d48 /fs/nfs/nfsroot.c
parent3dd4765fce04c0b4af1e0bc4c0b10f906f95fabc (diff)
downloadlinux-8554116e17eef055d9dd58a94b3427cb2ad1c317.tar.xz
pnfs: defer release of pages in layoutget
we have encountered a bug whereby reading a lot of files (copying fedora's /bin) from a pNFS mount and hitting Ctrl+C in the middle caused a general protection fault in xdr_shrink_bufhead. this function is called when decoding the response from LAYOUTGET. the decoding is done by a worker thread, and the caller of LAYOUTGET waits for the worker thread to complete. hitting Ctrl+C caused the synchronous wait to end and the next thing the caller does is to free the pages, so when the worker thread calls xdr_shrink_bufhead, the pages are gone. therefore, the cleanup of these pages has been moved to nfs4_layoutget_release. Signed-off-by: Idan Kedar <idank@tonian.com> Signed-off-by: Benny Halevy <bhalevy@tonian.com> Cc: stable@vger.kernel.org Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfsroot.c')
0 files changed, 0 insertions, 0 deletions