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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list