[libvirt] [PATCH 0/7] fspool: backend directory

Daniel P. Berrange berrange at redhat.com
Thu Aug 25 12:41:14 UTC 2016


On Thu, Aug 25, 2016 at 02:03:01PM +0300, Olga Krishtal wrote:
> On 25/08/16 04:14, Daniel P. Berrange wrote:
> > On Fri, Aug 19, 2016 at 06:03:28PM +0300, Olga Krishtal wrote:
> > > Hi everyone, we would like to propose the first implementation of fspool
> > > with directory backend.
> > > 
> > > Filesystem pools is a facility to manage filesystems resources similar
> > > to how storage pools manages volume resources. Furthermore new API follows
> > > storage API closely where it makes sense. Uploading/downloading operations
> > > are not defined yet as it is not obvious how to make it properly. I guess
> > > we can use some kind of tar to make a stream from a filesystem. Please share
> > > you thoughts on this particular issue.
> > > 
> > > The patchset provides 'dir' backend which simply expose directories in some
> > > directory in host filesystem. The virsh commands are provided too. So it is
> > > ready to play with, just replace 'pool' in xml descriptions and virsh commands
> > > to 'fspool' and 'volume' to 'item'.
> > > Examle and usage:
> > > Define:
> > > virsh -c qemu:///system fspool-define-as fs_pool_name dir --target /path/on/host
> > > Build
> > > virsh -c qemu:///system fspool-build fs_pool_name
> > > Start
> > > virsh -c qemu:///system fspool-start fs_pool_name
> > > Look inside
> > > virsh -c qemu:///system fspool-list (--all) fspool_name
> > > 
> > > Fspool called POOL, on the host fs uses /fs_driver to hold items.
> > >    virsh -c qemu:///system fspool-dumpxml POOL
> > >    <fspool type='dir'>
> > >      <name>POOL</name>
> > >      <uuid>c57c9d7c-b1d5-4c45-ba9c-67f03d4da160</uuid>
> > >      <capacity unit='bytes'>733722615808</capacity>
> > >      <allocation unit='bytes'>1331486720</allocation>
> > >      <available unit='bytes'>534810800128</available>
> > >      <source>
> > >      </source>
> > >      <target>
> > >        <path>/fs_driver</path>
> > >        <permissions>
> > >          <mode>0755</mode>
> > >          <owner>0</owner>
> > >          <group>0</group>
> > >        </permissions>
> > >      </target>
> > >    </fspool>
> > > 
> > > virsh -c qemu:///system fspool-info POOL
> > > Name:           POOL
> > > UUID:           c57c9d7c-b1d5-4c45-ba9c-67f03d4da160
> > > State:          running
> > > Persistent:     yes
> > > Autostart:      no autostart
> > > Capacity:       683.33 GiB
> > > Allocation:     1.24 GiB
> > > Available:      498.08 GiB
> > > 
> > > virsh -c qemu+unix:///system item-list POOL
> > >    Name                 Path
> > > ------------------------------------------------------------------------------
> > > item1                /fs_driver/item1
> > > item10               /fs_driver/item10
> > > item11               /fs_driver/item11
> > > item12               /fs_driver/item12
> > > item15               /fs_driver/item15
> > > 
> > > Fspool of directory type is some directory on host fs that holds items (subdirs).
> > > Example of usage for items:
> > > virsh -c vz+unix:///system item-create-as POOL item1 1g - create item
> > > virsh -c qemu+unix:///system item-dumpxml item1 POOL
> > > <fsitem>
> > >      <name>item1</name>
> > >      <key>/fs_driver/item1</key>
> > >      <source>
> > >        fspoo ='POOL'
> > Is this a typo, or is it really what you intend the <source>
> > content to look like. It seems rather odd to me
> It should be <fspool name= 'POOL'/> but afterword  xml looks like:

I don't think we actually need that info in the fsitem XML - the
pool is passed explicitly as a parameter in the API call, so its
redundant putting it in the XML too - especially as you don't
output it afterwards.

> <item>
>   <name>item1</name>
>   <key>/home/gray_pig/dirfspool/item1</key>
>   <capacity unit='bytes'>1073741824</capacity>
>   <allocation unit='bytes'>0</allocation>
>   <target>
>     <permissions>
>       <mode>0600</mode>
>       <owner>0</owner>
>       <group>0</group>
>     </permissions>
>   </target>
> </item>

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list