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: Peter Lieven
Subject: Re: [Qemu-devel] [PATCHv7 0/5] block: add native support for NFS
Date: Wed, 29 Jan 2014 15:13:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 29.01.2014 14:59, Stefan Hajnoczi wrote:
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
I do not understand why your path is empty...

Running almost the same test:

~/git/qemu$ ./qemu-img create -f qcow2 
'nfs://127.0.0.1/home/lieven/git/qemu/test-nfs.img?uid=1000&gid=1000' 8G
Formatting 
'nfs://127.0.0.1/home/lieven/git/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/lieven/git/qemu/test-nfs.img?uid=1000&gid=1000: Failed to 
mount nfs share: mount/mnt call failed with "RPC error: Mount failed with error 
MNT3ERR_ACCES(13) Permission denied(13)"

I have to run as root or specify 'insecure' option in /etc/exports

~/git/qemu$ sudo ./qemu-img create -f qcow2 
'nfs://127.0.0.1/home/lieven/git/qemu/test-nfs.img?uid=1000&gid=1000' 8G
Formatting 
'nfs://127.0.0.1/home/lieven/git/qemu/test-nfs.img?uid=1000&gid=1000', 
fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off

The last succeeds without problems.

Peter



reply via email to

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