When qcow2 is created on iscsi target with a virtual size greater than physical capacity of the LUN, over time it's possible that guest fills too much data and at that point, new clusters in qcow2 will be allocated beyond the end of disk.
werror=enospc is useful for that purpose to allocate more data for the guest, except in this case, unlike a host file system, iscsi returns -EIO instead of -ENOSPC, which makes it hard to detect and report proper error. Fix this by improving iscsi error handling code to return meaningful error codes (-ERANGE here), then further translate it to -ENOSPC in qcow2. Fam Fam Zheng (2): iscsi: Translate scsi sense into error code qcow2: Translate -ERANGE to -ENOSPC block/iscsi.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- block/qcow2.c | 6 ++++++ 2 files changed, 61 insertions(+), 1 deletion(-) -- 2.4.3