[libvirt] [PATCH] storage: Do not override the exact error of createRawFile

Osier Yang jyang at redhat.com
Mon Jul 4 07:30:27 UTC 2011


于 2011年07月04日 15:13, Osier Yang 写道:
> 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 |   13 ++++++++-----
>   1 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
> index a6e66e1..cee2010 100644
> --- a/src/storage/storage_backend.c
> +++ b/src/storage/storage_backend.c
> @@ -299,6 +299,7 @@ createRawFile(int fd, virStorageVolDefPtr vol,
>   {
>       int ret = 0;
>       unsigned long long remain;
> +    off_t cur_pos = 0;
> 
>       /* Seek to the final size, so the capacity is available upfront
>        * for progress reporting */
> @@ -310,7 +311,12 @@ createRawFile(int fd, virStorageVolDefPtr vol,
>           goto cleanup;
>       }
> 
> +    cur_pos = lseek(fd, 0, SEEK_CUR);
> +
> +    VIR_WARN("cur_pos = %jd", cur_pos);
> +
>       remain = vol->allocation;
> +    VIR_WARN("remain = %llu", remain);
> 

Urgh, please skip this patch, a patch removes these debugging lines
is following.




More information about the libvir-list mailing list