
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