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:
<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>
> </source>
> <capacity unit='bytes'>0</capacity>
> <allocation unit='bytes'>0</allocation>
> <target>
> <format type='dir'/>
> </target>
> </fsitem>
> virsh -c qemu+unix:///system item-info item1 POOL
> Name: item1
> Type: dir
> Capacity: 683.33 GiB
> Allocation: 634.87 MiB
> 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
>
Regards,
Daniel