[libvirt] [PATCH] storage: Do not override the exact error of createRawFile
Osier Yang
jyang at redhat.com
Mon Jul 4 08:14:06 UTC 2011
于 2011年07月04日 16:08, Matthias Bolte 写道:
> 2011/7/4 Osier Yang<jyang at redhat.com>:
>> virStorageBackendCreateRaw: createRawFile already reported the
>> exact error.
>>
>> Before the fix:
>>
>> error: Failed to create vol vol-create.img
>> error: cannot create path '/var/lib/libvirt/images/vol-create.img': Unknown error 18446744073709551597
>>
>> After the fix:
>>
>> error: Failed to create vol vol-create.img
>> error: cannot fill file '/var/lib/libvirt/images/vol-create.img': No space left on device
>> ---
>> src/storage/storage_backend.c | 7 ++-----
>> 1 files changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
>> index a6e66e1..708d7b2 100644
>> --- a/src/storage/storage_backend.c
>> +++ b/src/storage/storage_backend.c
>> @@ -399,12 +399,9 @@ virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED,
>> goto cleanup;
>> }
>>
>> - if ((ret = createRawFile(fd, vol, inputvol))< 0) {
>> - virReportSystemError(-fd,
>> - _("cannot create path '%s'"),
>> - vol->target.path);
>> + if ((ret = createRawFile(fd, vol, inputvol))< 0)
>> + /* createRawFile already reported the exact error. */
>> ret = -1;
>> - }
>
> You're also fixing the usage of the wrong value for the errno
> parameter of virReportSystemError by removing that call. It should
> have been -ret instead of -fd, that's why you see this large number in
> the overwriting error that is the result of an overflow.
>
> ACK.
>
Thanks, applied
Osier
More information about the libvir-list
mailing list