qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Idea: fuse-kvm filesystem


From: Avi Kivity
Subject: Re: [Qemu-devel] Idea: fuse-kvm filesystem
Date: Thu, 10 May 2012 15:55:17 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

On 05/10/2012 03:35 PM, Richard W.M. Jones wrote:
> On Thu, May 10, 2012 at 03:29:54PM +0300, Avi Kivity wrote:
> > Currently when you mount a filesystem, you face two issues:
> > - you have to be root
> > - if the media is untrusted, it can exploit your kernel
> > 
> > With kvm and fuse, we can have a virtualized kernel mount the
> > filesystem, and re-export to the host, which mounts it using a fuse
> > interface.  This solves both problems, at the expense of speed and
> > simplicity.  In theory this can be used for mounting untrusted USB
> > sticks (perhaps only for the less well tested filesystems).
>
> I guess you CC'd me so I could point out guestmount :-?
>
>   http://libguestfs.org/guestmount.1.html

Is there a feature that libguestfs doesn't have?

Anyway I tried it out and it seems to work really well.

> guestmount does the above already, and you can point it directly at
> USB sticks, hard drives and the like, although most people use it for
> mounting VM filesystems on the host.
>
> On my local machine I'm a member of the "disk" group so I can do all
> this as non-root:
>
>   $ guestmount --ro -a /dev/vg_pin/F16x64 -i /tmp/mnt
>   $ cat /tmp/mnt/etc/redhat-release 
>   Fedora release 16 (Verne)
>   $ ls /tmp/mnt
>   bin   dev  home  lib64       media  opt   root  sbin     srv  tmp  var
>   boot  etc  lib   lost+found  mnt    proc  run   selinux  sys  usr
>
> One problem you'll find is that FUSE is pretty slow.  I recommend if
> you're looking for performance that you use the libguestfs API calls
> directly instead of POSIX-over-FUSE.

Yes, 'guestmount' consumes a fair bit of cpu.  But it probably doesn't
matter for USB sticks.

-- 
error compiling committee.c: too many arguments to function




reply via email to

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