[Bug 256205] lseek() with SEEK_HOLE some times wrongly reports holes on ZFS
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 31 May 2021 15:40:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256205
--- Comment #10 from Robert Clausecker <fuz@fuz.su> ---
Ok, it was a stale zpool cache file. Regenerated that. Now zdb spits out for
the defective file:
# zdb -ddddd tau/usr/home 158868
Dataset tau/usr/home [ZPL], ID 166, cr_txg 156, 1.02G, 73710 objects, rootbp
DVA[0]=<0:1480e5000:1000> DVA[1]=<0:34b8519000:1000> [L0 DMU objset] fletcher4
uncompressed unencrypted LE contiguous unique double size=1000L/1000P
birth=754593L/754593P fill=73710
cksum=fdbb2e5f4:2c554aff465c:42583346179396:463202c0625bcf73
Object lvl iblk dblk dsize dnsize lsize %full type
158868 1 128K 128K 0 512 128K 0.00 ZFS plain file
168 bonus System attributes
dnode flags: USERUSED_ACCOUNTED USEROBJUSED_ACCOUNTED
dnode maxblkid: 0
path /fuz/src/schily-2021-05-19/psmake/smake
uid 1001
gid 0
atime Mon May 31 17:27:05 2021
mtime Mon May 31 17:27:05 2021
ctime Mon May 31 17:27:05 2021
crtime Mon May 31 17:27:05 2021
gen 754481
mode 100755
size 172444
parent 125362
links 1
pflags 40800000104
Indirect blocks:
And for a copy of that file:
# zdb -ddddd tau/usr/home 165839
Dataset tau/usr/home [ZPL], ID 166, cr_txg 156, 1.02G, 73711 objects, rootbp
DVA[0]=<0:1481bd000:1000> DVA[1]=<0:34b85d5000:1000> [L0 DMU objset] fletcher4
uncompressed unencrypted LE contiguous unique double size=1000L/1000P
birth=754604L/754604P fill=73711
cksum=f5c0e13c8:2bd5f9eb9464:4306ac91d2ee06:48548583efa66ed7
Object lvl iblk dblk dsize dnsize lsize %full type
165839 2 128K 128K 72K 512 256K 100.00 ZFS plain file
168 bonus System attributes
dnode flags: USED_BYTES USERUSED_ACCOUNTED USEROBJUSED_ACCOUNTED
dnode maxblkid: 1
path /fuz/smake
uid 1001
gid 1001
atime Mon May 31 17:37:23 2021
mtime Mon May 31 17:37:23 2021
ctime Mon May 31 17:37:23 2021
crtime Mon May 31 17:37:23 2021
gen 754604
mode 100755
size 172444
parent 2
links 1
pflags 40800000104
Indirect blocks:
0 L1 0:279c393000:1000 20000L/1000P F=2 B=754604/754604
cksum=89ddba81fd:1f641e2304c6e:3959b7adc4672c0:60f134ca72c7adee
0 L0 0:1aec965000:b000 20000L/b000P F=1 B=754604/754604
cksum=162256381a3f:1e6cd61da6d0818:ab4c29600d5f7235:84ff2b8da3762f93
20000 L0 0:1aec959000:5000 20000L/5000P F=1 B=754604/754604
cksum=84074ce4c6c:5f268b4e9e1cc5:83823b486e8a59f7:97b671e2edc43809
segment [0000000000000000, 0000000000040000) size 256K
There's two more things I noticed: (a) the defective file is written through a
nullfs mount and (b) the file is "cured" after a while, i.e. no longer pretends
to be sparse. This is independent of sync calls, but seems to happen after
some hours of letting the FS idle.
--
You are receiving this mail because:
You are on the CC list for the bug.