diff options
author | Idan Kedar <[email protected]> | 2012-08-02 11:47:10 +0300 |
---|---|---|
committer | Trond Myklebust <[email protected]> | 2012-08-02 17:38:54 -0400 |
commit | 8554116e17eef055d9dd58a94b3427cb2ad1c317 (patch) | |
tree | 75cb529c3ab86a496536a285542d79d064284d48 /lib/mpi/mpi-add.c | |
parent | 3dd4765fce04c0b4af1e0bc4c0b10f906f95fabc (diff) |
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 <[email protected]>
Signed-off-by: Benny Halevy <[email protected]>
Cc: [email protected]
Signed-off-by: Trond Myklebust <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-add.c')
0 files changed, 0 insertions, 0 deletions