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 :|