[pve-devel] applied: [PATCH v2 storage] workaround zfs create -V error for unaligned sizes
Thomas Lamprecht
t.lamprecht at proxmox.com
Sat Mar 30 15:38:53 CET 2019
On 3/29/19 10:13 AM, Mira Limbeck wrote:
> fixes the 'cannot create 'nvme/foo': 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 <m.limbeck at proxmox.com>
> ---
> 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..4bf6d50 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 1M as workaround until
> + # https://github.com/zfsonlinux/zfs/issues/8541 is solved
> + my $padding = (1024 - $size % 1024) % 1024;
> + $size = $size + $padding;
> +
> my $cmd = ['create'];
>
> push @$cmd, '-s' if $scfg->{sparse};
>
applied, thanks!
More information about the pve-devel
mailing list