Ján Tomko wrote:
On 07/22/2014 07:08 PM, Roman Bogorodskiy wrote:
> Implement ZFS storage backend driver. Currently supported
> only on FreeBSD because of ZFS limitations on Linux.
>
> Features supported:
>
> - pool-start, pool-stop
> - pool-info
> - vol-list
> - vol-create / vol-delete
>
> Pool definition looks like that:
>
> <pool type='zfs'>
> <name>myzfspool</name>
> <source>
> <name>actualpoolname</name>
> </source>
> </pool>
>
> The 'actualpoolname' value is a name of the pool on the system,
> such as shown by 'zpool list' command. Target makes no sense
> here because volumes path is always /dev/zvol/$poolname/$volname.
>
> Users has to create a pool on his own, this driver doesn't
> support pool creation currently.
>
> A volume could be used with Qemu by adding an entry like this:
>
> <disk type='volume' device='disk'>
> <driver name='qemu' type='raw'/>
> <source pool='myzfspool' volume='vol5'/>
> <target dev='hdc' bus='ide'/>
> </disk>
> ---
Looks good to me, just a few nits below:
Thanks for the review!
I'll address the issues pointed here.
Also, is source.name/vol.name unique enough, wouldn't the full
target.path be
better?
I thought about that, but wasn't sure if it's a good thing to use
absolute device path. On the other hand, it's hardcoded anyway, so,
probably it's not a big deal.
PS I've been looking at ZFS support on Linux. I had no success with
zfs-fuse (when I was creating a volume it reported it's not supported
and segfaulted). Then I tried zfsonlinux and it looked more stable and
supported the basic operations I've tested. Unfortunately, it misses
some handy command args, such as -H and -p for some commands to provide
scriptable output... Probably I'll try to workaround that when I have
time.
Roman Bogorodskiy