I try to recover a raidz array with 3 disks on zfslinux. It uses a
ashift parameter of 12 (4086 byte blocks) which is I think not handled
by py-zfs-rescue.
Can you point out which parts I have to change to make py-zfs-rescue
work with this ashift parameter?
As a test I'm using a losetup based pool with
zpool create datapool -f -o ashift=12 -O -O compression=lz4 -O normalization=formD raidz /dev/loop0 /dev/loop1 /dev/loop2
Adding lz4 compression support I think I can handle however the ashift parameter
seems to be hardcoded in different location to 9 and I'm not shure weather this parameter
is dependent on the type of data one is loading.
I created a dataset inside the testpool and tried to open it with py-zfs-rescue, however it is not
possible and failes when loading ..
[+] Loading object set dnode from <[L0 DMU objset] 800L/800P DVA[0]=<0:e0000:2200> DVA[1]=<0:40de000:2200> DVA[2]=<0:809a000:2200> birth=34 fletcher4 off LE contiguous fill=50>
> Failed - unsupported operand type(s) for //: 'NoneType' and 'int'