qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCHv7 0/5] block: add native support for NFS


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCHv7 0/5] block: add native support for NFS
Date: Wed, 29 Jan 2014 14:59:50 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Jan 29, 2014 at 09:50:20AM +0100, Peter Lieven wrote:
> This adds v6 of the NFS protocol driver + qemu-iotest adjustments.
> 
> v6->v7:
>  - removed unsused and partially non-existing libnfs header file includes 
> [Stefan]
>  - adjusted usage of qemu_opts_create_nofail [Stefan]
>  - removed patch to fix output of qemu-iotest 067
>  - only blacklist qemu-iotest 020 for NFS do not change proto from generic to 
> file [Fam]

It compiles now but I can't create an image on my /home NFS export:

$ ./qemu-img create -f qcow2 
'nfs://127.0.0.1/home/stefanha/qemu/test-nfs.img?uid=1000&gid=1000' 8G
Formatting 'nfs://127.0.0.1/home/stefanha/qemu/test-nfs.img?uid=1000&gid=1000', 
fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off 
qemu-img: nfs://127.0.0.1/home/stefanha/qemu/test-nfs.img?uid=1000&gid=1000: 
Failed to create file: nfs_creat_async failed

I added printfs to the code, block/nfs.c is mounting /home/stefanha/qemu
and tries to create the file /test-nfs.img.

I'm using the Linux kernel NFS server.  Unfortunately I don't have more
time to debug this but I'd like to test this feature successfully before
merging it into QEMU.  Any ideas why libnfs refuses to create the file?
(It's failing in nfs_lookuppath_async() with "Path is empty".)

Ronnie: libnfs clobbers the nfs->rpc error string so you cannot see the
detailed error message:

In this case nfs_creat() clobbers the error with "Failed to create file:
nfs_creat_async failed".  In fact the message was "Out of memory: failed
to start parsing the path components" from nfs_creat_async(), but that's
clobbering the true error too.  It really should be "Path is empty" from
nfs_lookuppath_async().

It would be nice to preserve the full error string, otherwise the user
cannot make sense of the problem.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]