Am 18.01.2013 09:53, schrieb Markus Armbruster: > Stefan Weil <s...@weilnetz.de> writes: >> This improves error reports for bochs, cow, qcow, qcow2, qed and vmdk >> when a file with the wrong format is selected. >> >> Signed-off-by: Stefan Weil <s...@weilnetz.de> >> --- >> block/bochs.c | 2 +- >> block/cow.c | 2 +- >> block/qcow.c | 2 +- >> block/qcow2.c | 2 +- >> block/qed.c | 2 +- >> block/vmdk.c | 4 ++-- >> 6 files changed, 7 insertions(+), 7 deletions(-) >> >> diff --git a/block/bochs.c b/block/bochs.c >> index 1b1d9cd..3737583 100644 >> --- a/block/bochs.c >> +++ b/block/bochs.c >> @@ -126,7 +126,7 @@ static int bochs_open(BlockDriverState *bs, int flags) >> strcmp(bochs.subtype, GROWING_TYPE) || >> ((le32_to_cpu(bochs.version) != HEADER_VERSION) && >> (le32_to_cpu(bochs.version) != HEADER_V1))) { >> - goto fail; >> + return -EMEDIUMTYPE; >> } >> >> if (le32_to_cpu(bochs.version) == HEADER_V1) { > You make the function return either 0, -1 or -EMEDIUMTYPE. Please make > it return either 0 or a negative errno code, like this (untested):
Hi Markus, returning 0, -1 is like before, only returning -EMEDIUMTYPE is new. You are right, a return value of -1 should be replaced by a negative error value. I fixed this for block/vdi.c in a separate patch as suggested by Kevin, see http://patchwork.ozlabs.org/patch/213375/. The same kind of improvement should be done for other block drivers which currently use -1, but that can be done after my patch series was applied. The primary purpose of my patch series was fixing open bugreports. For vdi I did more because I feel responsible for that part of the code. Regards, StefanW.