ZFS block cloning/dnode_is_dirty bug

Randell

Active Member
Dec 27, 2018
20
7
43
46
I just stumbled over this and I was wondering how it relates to the versions of zfs here in the proxmox kernel? It seems like there is a bug that's been around that seemed a while that was brought to light with the latest block cloning code, or maybe they are 2 different bugs, I don't really know.

https://news.ycombinator.com/item?id=38380240
https://github.com/openzfs/zfs/pull/15571

It also seems like there is a lot of panic by people, so, to be honest, I have no idea how large of an issue this is, and how or if I have been impacted yet. I'm sure the Proxmox team is aware and are evaluating.
 
  • Like
Reactions: ikarlo
Seems like the feature is enabled as per this command:

Bash:
zpool get feature@block_cloning ssd
(ssd is my zpool name)

my output :

Code:
NAME  PROPERTY               VALUE                  SOURCE
ssd   feature@block_cloning  enabled                local

Hence my version 8.1.3 is enabled with block_cloning.

Edit:
My test above was done on a Fresh 8.1.3 server, whilst my other which was upgraded from 8.0 to 8.1.3 does not have this feature enabled even though it has zfs 2.2.0 version installed.

Edit #2:

My other cluster which I upgraded has the feature installed but not enabled. Which i'm thankful for.
So I think depending on the installation and upgrade path either it's installed and enabled, or disabled or not even installed lol:

Code:
root@MAN20:~# zpool get feature@block_cloning VmData
NAME    PROPERTY               VALUE                  SOURCE
VmData  feature@block_cloning  disabled               local
 
Last edited:
I think that block_cloning needs to be enabled with zpool upgrade on existing pools which is why you have different results.
 
please check the existing threads as well! irrespective of whether your pool has the block_cloning feature enabled or not, ZFS 2.2 as shipped with PVE 8.1 disables block cloning by default via the tunable "zfs_bclone_enabled". unless you override that, no block cloning will happen.
 
please check the existing threads as well! irrespective of whether your pool has the block_cloning feature enabled or not, ZFS 2.2 as shipped with PVE 8.1 disables block cloning by default via the tunable "zfs_bclone_enabled". unless you override that, no block cloning will happen.
Hi!
trying to understand a bit and ensure everything is OK:
I've just upgraded my proxmox and checking block cloning status shows that block cloning is disabled.

Then i upgraded the pool using
Code:
zpool upgrade -a
and checked status again: block_cloning was enable.
Code:
rpool feature@block_cloning          enabled                        local

Am i missing something?
Code:
root@pve1:~# zpool set feature@block_cloning=disabled rpool
cannot set property for 'rpool': property 'feature@block_cloning' can only be set to 'disabled' at creation time


Regards
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!