On 15/02/2022 01:17, John-Mark Gurney wrote:
Andriy Gapon wrote this message on Mon, Feb 07, 2022 at 14:15 +0200:
I've got a problem where fsck behaves differently from my expectations.
The problem happens with a filesystem on a GELI encrypted ZVOL.
The volume has 4K block size and that's the GELI's sector size as well.
FreeBSD is stable/13 from mid January.
Did you put a ffs filesystem that was formatted on a 512 byte sector disk
onto this geli device?
As far as I can recall, no. I created it with newsfs on the geli device.
fsck calculates the sector size via (/sbin/fsck_ffs/setup.c):
dev_bsize = sblock.fs_fsize / fsbtodb(&sblock, 1);
and fsbtodb:
../../sys/ufs/ffs/fs.h:#define fsbtodb(fs, b) ((daddr_t)(b) <<
(fs)->fs_fsbtodb)
fsize 4096 shift 12 mask 0xfffff000
frag 8 shift 3 fsbtodb 3
fsize / (1 << 3) == 4096 / 8 == 512.
so, likely updating fsbtodb to be 0 instead of 3 would fix this. I'm not
sure how to do this though, as tunefs and fsdb don't seem to have options
to do this, and likely you'll want to update all the superblocks w/ this
new value.
--
Andriy Gapon