mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
virtio-mem: Use -ETXTBSY as error code if the device is busy
Let's be able to distinguish if the device or if memory is busy. Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com> Signed-off-by: David Hildenbrand <david@redhat.com> Link: https://lore.kernel.org/r/20200507140139.17083-15-david@redhat.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
562e08cd24
commit
8d4edcfe78
@ -893,7 +893,7 @@ static int virtio_mem_send_plug_request(struct virtio_mem *vm, uint64_t addr,
|
||||
case VIRTIO_MEM_RESP_NACK:
|
||||
return -EAGAIN;
|
||||
case VIRTIO_MEM_RESP_BUSY:
|
||||
return -EBUSY;
|
||||
return -ETXTBSY;
|
||||
case VIRTIO_MEM_RESP_ERROR:
|
||||
return -EINVAL;
|
||||
default:
|
||||
@ -919,7 +919,7 @@ static int virtio_mem_send_unplug_request(struct virtio_mem *vm, uint64_t addr,
|
||||
vm->plugged_size -= size;
|
||||
return 0;
|
||||
case VIRTIO_MEM_RESP_BUSY:
|
||||
return -EBUSY;
|
||||
return -ETXTBSY;
|
||||
case VIRTIO_MEM_RESP_ERROR:
|
||||
return -EINVAL;
|
||||
default:
|
||||
@ -941,7 +941,7 @@ static int virtio_mem_send_unplug_all_request(struct virtio_mem *vm)
|
||||
atomic_set(&vm->config_changed, 1);
|
||||
return 0;
|
||||
case VIRTIO_MEM_RESP_BUSY:
|
||||
return -EBUSY;
|
||||
return -ETXTBSY;
|
||||
default:
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -1557,11 +1557,15 @@ retry:
|
||||
* or we have too many offline memory blocks.
|
||||
*/
|
||||
break;
|
||||
case -EBUSY:
|
||||
case -ETXTBSY:
|
||||
/*
|
||||
* The hypervisor cannot process our request right now
|
||||
* (e.g., out of memory, migrating) or we cannot free up
|
||||
* any memory to unplug it (all plugged memory is busy).
|
||||
* (e.g., out of memory, migrating);
|
||||
*/
|
||||
case -EBUSY:
|
||||
/*
|
||||
* We cannot free up any memory to unplug it (all plugged memory
|
||||
* is busy).
|
||||
*/
|
||||
case -ENOMEM:
|
||||
/* Out of memory, try again later. */
|
||||
|
Loading…
Reference in New Issue
Block a user