Trond Myklebust f57dcf4c72 NFS: Fix I/O request leakages
When we fail to add the request to the I/O queue, we currently leave it
to the caller to free the failed request. However since some of the
requests that fail are actually created by nfs_pageio_add_request()
itself, and are not passed back the caller, this leads to a leakage
issue, which can again cause page locks to leak.

This commit addresses the leakage by freeing the created requests on
error, using desc->pg_completion_ops->error_cleanup()

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Fixes: a7d42ddb30997 ("nfs: add mirroring support to pgio layer")
Cc: stable@vger.kernel.org # v4.0: c18b96a1b862: nfs: clean up rest of reqs
Cc: stable@vger.kernel.org # v4.0: d600ad1f2bdb: NFS41: pop some layoutget
Cc: stable@vger.kernel.org # v4.0+
2019-02-20 15:14:20 -05:00
..
2019-02-03 08:48:33 -08:00
2019-01-21 14:53:23 +01:00
2019-01-06 08:36:21 -05:00
2018-08-21 23:54:17 -04:00
2018-12-03 15:30:24 -06:00
\n
2018-12-27 17:00:35 -08:00
2018-12-31 09:41:37 -08:00
2018-11-30 14:56:14 -08:00
2018-08-17 16:20:28 -07:00
2018-09-29 22:47:48 -04:00
2019-01-02 16:35:23 -08:00
2018-05-22 14:27:52 -04:00
2019-02-20 15:14:20 -05:00
2018-11-05 14:57:05 -05:00
2018-05-22 14:27:52 -04:00
2019-01-07 08:53:32 +01:00
\n
2018-12-27 17:00:35 -08:00
2018-07-03 16:44:45 -04:00
2018-10-29 14:29:58 -07:00
2018-06-05 19:23:26 +02:00
2018-12-31 09:46:39 -08:00
2018-12-28 20:54:57 -08:00
2018-08-21 18:19:09 -07:00
2018-06-11 08:22:34 -07:00
2018-08-21 18:19:09 -07:00