From: Alessandro M. <ale...@gm...> - 2013-06-25 13:23:38
|
2013/6/25 Bart Van Assche <bva...@ac...> > On 06/25/13 14:18, Alessandro MACUZ wrote: > >> Hi all, >> >> my setup is made of ZFS block devices and I use vdisk_blockio handler to >> present them to a VMhost. >> >> When I change the size of zfs block device (zfs set volsize=xxG >> zpool/etc/etc/blah) I don't see this reflected by SCST. >> This is what I do >> >> root@server:/sys/kernel/scst_**tgt/handlers/vdisk_blockio/** >> sandbox_disk1# >> cat size_mb >> 5120 >> root@server:/sys/kernel/scst_**tgt/handlers/vdisk_blockio/** >> sandbox_disk1# >> zfs set volsize=15G zserver/machines/sandbox/disk1 >> root@server:/sys/kernel/scst_**tgt/handlers/vdisk_blockio/** >> sandbox_disk1# >> zfs get volsize zserver/machines/sandbox/disk1 >> NAME PROPERTY VALUE SOURCE >> zserver/machines/sandbox/disk1 volsize 15G local >> root@server:/sys/kernel/scst_**tgt/handlers/vdisk_blockio/** >> sandbox_disk1# >> cat size_mb >> 5120 >> root@server:/sys/kernel/scst_**tgt/handlers/vdisk_blockio/** >> sandbox_disk1# >> >> I'm told that such changes should be automatically detected by SCST. The >> problem arose because in my set up when I change the size this is not >> seen on the VM hosts and I have to delete the handler and recreate it. >> > > Please have a look at the documentation of the "resync_size" sysfs > attribute in scst/README. > > Bart. > > Thanks Bart, in the README I read "The following parameters possible for vdisk_blockio: filename, blocksize, nv_cache, read_only, removable, thin_provisioned. See vdisk_fileio above for description of those parameters." Indeed resync_size is not available when creating vdisk_blockio and the parameter is not accepted root@server:/sys/kernel/scst_tgt/handlers/vdisk_blockio# echo "add_device sandbox_disk1 filename=/dev/zvol/zserver/machines/sandbox/disk1;resync_size=1;nv_cache=1;thin_provisioned=1" > mgmt bash: echo: write error: Invalid argument root@server:/opt/trunk2/2.2.x/scst# dmesg -T ... [Tue Jun 25 15:05:02 2013] dev_vdisk: ***ERROR***: Unknown parameter resync_size (device sandbox_disk1) Is there any other way to achieve the same result without deleting/recreating the handler? Was such option left aside for block device because they are not supposed to change in size? Actually they can change. Will it be added in the future or there are other constraints that prevent to implement it for block devices? Thanks, Alex |