Skip to content

Commit

Permalink
virtio-mem: Use -ETXTBSY as error code if the device is busy
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Hildenbrand authored and Michael S. Tsirkin committed Jun 4, 2020
1 parent 562e08c commit 8d4edcf
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions drivers/virtio/virtio_mem.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
Expand All @@ -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;
}
Expand Down Expand Up @@ -1557,11 +1557,15 @@ static void virtio_mem_run_wq(struct work_struct *work)
* 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. */
Expand Down

0 comments on commit 8d4edcf

Please sign in to comment.