
2011/7/4 Osier Yang <jyang@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. -- Matthias Bolte http://photron.blogspot.com