Allow proxy to pass NBD protocol errors downstream; server returns EINVAL/ENOSPC appropriately

Previously the proxy would just disconnect when it saw an NBD protocol
error, and retry the operation it was in the middle of.

Additionally, the server needs to return the correct error types when
this happens.
This commit is contained in:
Patrick J Cherry
2018-02-08 13:19:51 +00:00
parent 806de13024
commit 8beb3f0af6
4 changed files with 46 additions and 10 deletions

View File

@@ -618,11 +618,6 @@ int proxy_read_from_upstream( struct proxier* proxy, int state )
goto disconnect;
}
if ( reply->error != 0 ) {
warn( "NBD error returned from upstream: %"PRIu32, reply->error );
goto disconnect;
}
if ( proxy->req_hdr.type == REQUEST_READ ) {
/* Get the read reply data too. */
proxy->rsp.size += proxy->req_hdr.len;