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

Re: unrealize mechanism in 9pfs



Hi Hugo,
sorry for the delay.

On Tue, Dec 20, 2016 at 10:49:31AM +0100, Hugo Lefeuvre wrote:
> Hi,
> 
> > Could you paste the commands / libvirt configs you used to test this?
> 
> for handle:
>  qemu -hda debian_wheezy_amd64_standard.qcow2 -fsdev handle,id=ninepfstest,path=/home/user/ -device virtio-9p-pci,fsdev=ninepfstest,mount_tag=ninepfstest
> 
> for proxy:
>  qemu -hda debian_wheezy_amd64_standard.qcow2 -fsdev proxy,id=ninepfstest,path=/home/user/,sock_fd=1 -device virtio-9p-pci,fsdev=ninepfstest,mount_tag=ninepfstest
> 
> I've tested with several sock_fd values. For qemu-kvm, I've just
> replaced 'qemu' by 'kvm'.
> 
> You can find the 'debian_wheezy_amd64_standard.qcow2' image here[0].
> 
> The libvirt config files are the default ones. I used the official
> wheezy livecd[1] as test system. A tarred copy of the /etc/libvirt
> directory is in attachment.

With

    # qemu-system-x86_64 -drive file=foo.img -fsdev handle,id=fsid,path=/home/agx/tmp -device virtio-9p-pci,id=devid,fsdev=fsid,mount_tag=mt

I get

    fsdev: fsdriver handle not found

which is exactly what you had. And this is caused by the missing
declaration of open_by_handle_at in Wheezy's glibc. The function was
introduced in glibc 2.14. And therefore this fails to compile (from
QEMU's configure):

#include <fcntl.h>
#if !defined(AT_EMPTY_PATH)
# error missing definition
#else
int main(void) { struct file_handle fh; return open_by_handle_at(0, &fh, 0); }
#endif

and so the handle backend gets disabled. So I think it's safe to mark
this as no-dsa in Wheezy (the code is in the source tree but not
compiled in by default).

I've started

    https://anonscm.debian.org/viewvc/secure-testing/data/wheezy-no-dsa.txt

So we have such things at glance for larger packages (Xen, Firefox, Icedove,
etc come to mind as well).

Cheers,
 -- Guido


Reply to: