summaryrefslogtreecommitdiffstats
path: root/fs/nfs/callback_proc.c
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@primarydata.com>2014-07-11 10:20:48 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-07-12 17:35:46 -0400
commitd458138353726ea6dcbc53ae3597e489d0432c25 (patch)
tree178e8cb0040307bda0dbd556ad1137b89ca9a10f /fs/nfs/callback_proc.c
parent84d3a9a913ba6a90c79b7763d063bb42554a8906 (diff)
downloadop-kernel-dev-d458138353726ea6dcbc53ae3597e489d0432c25.zip
op-kernel-dev-d458138353726ea6dcbc53ae3597e489d0432c25.tar.gz
nfs: handle multiple reqs in nfs_page_async_flush
Change nfs_find_and_lock_request so nfs_page_async_flush can handle multiple requests in a page. There is only one request for a page the first time nfs_page_async_flush is called, but if a write or commit fails, async_flush is called again and there may be multiple requests associated with the page. The solution is to merge all the requests in a page group into a single request before calling nfs_pageio_add_request. Rename nfs_find_and_lock_request to nfs_lock_and_join_requests and change it to first lock all requests for the page, then cancel and merge all subrequests into the head request. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/callback_proc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud