OSDN Git Service

block: luks: better error message when creating too large files
authorMaxim Levitsky <mlevitsk@redhat.com>
Wed, 25 Sep 2019 21:35:27 +0000 (00:35 +0300)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 7 May 2020 11:52:33 +0000 (12:52 +0100)
commit3d1900a471c89ebdd9ea7f3582fe487e2f494419
tree4365bf28a3520978d3c655078c18da6edd9542f8
parentccebb5f3735edcbcbf9429b605fcb9399a0dd72c
block: luks: better error message when creating too large files

Currently if you attampt to create too large file with luks you
get the following error message:

Formatting 'test.luks', fmt=luks size=17592186044416 key-secret=sec0
qemu-img: test.luks: Could not resize file: File too large

While for raw format the error message is
qemu-img: test.img: The image size is too large for file format 'raw'

The reason for this is that qemu-img checks for errono of the failure,
and presents the later error when it is -EFBIG

However crypto generic code 'swallows' the errno and replaces it
with -EIO.

As an attempt to make it better, we can make luks driver,
detect -EFBIG and in this case present a better error message,
which is what this patch does

The new error message is:

qemu-img: error creating test.luks: The requested file size is too large

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1534898
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
block/crypto.c