Commit 259b2173 authored by Kevin Wolf's avatar Kevin Wolf
Browse files

qcow2: Add error messages in qcow2_truncate



qemu-img resize has some limitations with qcow2, but the user is only
told that "this image format does not support resize". Quite confusing,
so add some more detailed error_report() calls and change "this image
format" into "this image".

Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
parent e8877497
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1120,16 +1120,19 @@ static int qcow2_truncate(BlockDriverState *bs, int64_t offset)
    int ret, new_l1_size;

    if (offset & 511) {
        error_report("The new size must be a multiple of 512");
        return -EINVAL;
    }

    /* cannot proceed if image has snapshots */
    if (s->nb_snapshots) {
        error_report("Can't resize an image which has snapshots");
        return -ENOTSUP;
    }

    /* shrinking is currently not supported */
    if (offset < bs->total_sectors * 512) {
        error_report("qcow2 doesn't support shrinking images yet");
        return -ENOTSUP;
    }

+1 −1
Original line number Diff line number Diff line
@@ -1614,7 +1614,7 @@ static int img_resize(int argc, char **argv)
        printf("Image resized.\n");
        break;
    case -ENOTSUP:
        error_report("This image format does not support resize");
        error_report("This image does not support resize");
        break;
    case -EACCES:
        error_report("Image is read-only");