]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
xprtrdma: Return -ENOBUFS when no pages are available
authorChuck Lever <chuck.lever@oracle.com>
Fri, 4 May 2018 19:35:46 +0000 (15:35 -0400)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 14 Jan 2019 09:28:55 +0000 (09:28 +0000)
commitd3792d5a676e6b780faea10f7bcc6cbef80e3eaf
tree4921f13aef82873046da3e714c330883589984d0
parentc231c3959f475978fa8f2afb340f4b85639a7e06
xprtrdma: Return -ENOBUFS when no pages are available

BugLink: http://bugs.launchpad.net/bugs/1807469
commit a8f688ec437dc2045cc8f0c89fe877d5803850da upstream.

The use of -EAGAIN in rpcrdma_convert_iovs() is a latent bug: the
transport never calls xprt_write_space() when more pages become
available. -ENOBUFS will trigger the correct "delay briefly and call
again" logic.

Fixes: 7a89f9c626e3 ("xprtrdma: Honor ->send_request API contract")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: stable@vger.kernel.org # 4.8+
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
net/sunrpc/xprtrdma/rpc_rdma.c