nbd: Return correct error for write to read-only export
The NBD Protocol requires that servers should send EPERM for attempts to write (or trim) a read-only export. We were correct for TRIM (blk_co_discard() gave EPERM); but were manually setting EROFS which then got mapped to EINVAL over the wire on writes. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1459913704-19949-2-git-send-email-eblake@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b3f3fdeb95
commit
c0301fcc81
|
@ -26,6 +26,7 @@ static int system_errno_to_nbd_errno(int err)
|
||||||
case 0:
|
case 0:
|
||||||
return NBD_SUCCESS;
|
return NBD_SUCCESS;
|
||||||
case EPERM:
|
case EPERM:
|
||||||
|
case EROFS:
|
||||||
return NBD_EPERM;
|
return NBD_EPERM;
|
||||||
case EIO:
|
case EIO:
|
||||||
return NBD_EIO;
|
return NBD_EIO;
|
||||||
|
|
Loading…
Reference in a new issue