Re: git: ce4dcb97ca43 - main - zfs: merge openzfs/zfs@9c56b8ec7

From: Marek Zarychta <zarychtam_at_plan-b.pwste.edu.pl>
Date: Sun, 11 Aug 2024 14:14:34 UTC
W dniu 11.08.2024 o 15:41, Cy Schubert pisze:
> In message <54076f5e-cd6d-40d6-b4b7-495cf8e67572@blastwave.org>, Dennis
> Clarke
> writes:
>> On 8/10/24 22:15, Cy Schubert wrote:
>>> In message <FB135AEB-1B52-42F3-93F4-2B1B67FC1395@yahoo.com>, Mark Millard
>>> write
>>> s:
>>>>       =E2=80=A2 [2:12 PM]Flox: getting this error in ZFS since recent =
>>>> update in HEAD
>>>>       =E2=80=A2 [2:12 PM]Flox:
>>>> sysctl_warn_reuse: can't re-use a leaf =
>>>> (kstat.zfs.zroot.dataset.objset-0x204.zil_itx_metaslab_slog_alloc)!
>>>> pid 58 (zpool) is attempting to use unsafe AIO requests - not logging =
>>>> anymore
>>>>
>>>>       =E2=80=A2 [2:13 PM]Flox:
>>>> FreeBSD fbsd15.localdomain 15.0-CURRENT FreeBSD 15.0-CURRENT #0 =
>>>> main-aea9dba46b: Sat Aug 10 16:48:02 EDT 2024 =
>>>> mike@fbsd15.localdomain:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG =
>>>> amd64
>>> Yeah. I'm getting tons of these on all my machines as well.
>>>
>>> sysctl_warn_reuse: can't re-use a leaf (kstat.zfs.cwsys.dataset.objset-0x2c
>> c
>>> d.zil_itx_metaslab_slog_alloc)!
>>>
>>>
>>
>> Yep. Seems to be a real thing just pouring out all over the console here
>> too :
>>
>>
>> sysctl_warn_reuse: can't re-use a leaf
>> (kstat.zfs.t1.dataset.objset-0x4b0.zil_itx_metaslab_slog_alloc)!
> This only happens on import: when the system boots and when any pools are
> imported later on.
>
>>
>> Just a tad uncomfortable to see.
> Uncomfortable but harmless.

So tons of the messages like below could be ignored?

sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zhgst.dataset.objset-0x5f6.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zhgst.dataset.objset-0x5f6.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zhgst.dataset.objset-0x5f6.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x66b.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x66b.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x66b.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x54.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x54.zil_itx_metaslab_slog_alloc)!
sysctl_warn_reuse: can't re-use a leaf 
(kstat.zfs.zvol.dataset.objset-0x54.zil_itx_metaslab_slog_alloc)!

BTW, thank you for bringing this up.

> I haven't looked at this too closely but could dataset_kstats_create() be
> called more than once for each dataset?
>
> We should probably also check to verify the leaf nodes are removed when a
> pool is exported as well. I don't have any time to test this hypothesis
> today but maybe tomorrow sometime.
>
>

-- 
Marek Zarychta