Oh, forget this one, forgot to commit the updated code. Sending a v2

On 3/29/19 10:11 AM, Mira Limbeck wrote:
fixes the 'cannot create '...': volume size must be a multiple of
volume block size' error by always rounding the size up to the next 1M
boundary. this is a workaround until
https://github.com/zfsonlinux/zfs/issues/8541 is solved.
the current manpage says 128k is the maximum blocksize, but a local test
showed that values up to 1M are allowed. it might be possible to
increase it even further (see f1512ee61).

Signed-off-by: Mira Limbeck <[email protected]>
---
  PVE/Storage/ZFSPoolPlugin.pm | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm
index 6e08457..246c0f1 100644
--- a/PVE/Storage/ZFSPoolPlugin.pm
+++ b/PVE/Storage/ZFSPoolPlugin.pm
@@ -309,7 +309,12 @@ sub zfs_get_pool_stats {
sub zfs_create_zvol {
      my ($class, $scfg, $zvol, $size) = @_;
-
+
+    # always align size to 128k as workaround until
+    # https://github.com/zfsonlinux/zfs/issues/8541 is solved
+    my $padding = (128 - $size % 128) % 128;
+    $size = $size + $padding;
+
      my $cmd = ['create'];
push @$cmd, '-s' if $scfg->{sparse};

_______________________________________________
pve-devel mailing list
[email protected]
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to