Re: ZFS Permanent error <0xffffffffffffffff>:<0x0>

From: David Christensen <dpchrist_at_holgerdanske.com>
Date: Tue, 29 Nov 2022 01:43:23 UTC
On 11/27/22 00:11, Andrea Venturoli wrote:
> Hello.
> 
> Yesterday, out of the blue, on a 13.1/amd64 machine, something went 
> wrong in one of my zpools, as I discovered from daily run mails.
> 
>> # zpool status -vx   pool: zroo2
>>  state: ONLINE
>> status: One or more devices has experienced an error resulting in data
>>     corruption.  Applications may be affected.
>> action: Restore the file in question if possible.  Otherwise restore the
>>     entire pool from backup.
>>    see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A
>>   scan: scrub repaired 0B in 00:50:25 with 0 errors on Tue Nov 15 
>> 04:32:52 2022
>> config:
>>
>>     NAME        STATE     READ WRITE CKSUM
>>     zroo2       ONLINE       0     0     0
>>       raidz1-0  ONLINE       0     0     0
>>         ada0p3  ONLINE       0     0     4
>>         ada2p3  ONLINE       0     0     4
>>         ada1p3  ONLINE       0     0     4
>>
>> errors: Permanent errors have been detected in the following files:
>>
>>         <0xffffffffffffffff>:<0x0>
> 
> I don't think there's a "file in question" I can restore, as 
> "<0xffffffffffffffff>:<0x0>" doesn't seem to identify any.
> 
> I searched and found some bugs/discussion, but none lead to a definitive 
> answer.
> 
>  From logs and SMART, I don't think I had any hadware problem.
> 
> How much should I be worried?
> Any hint on how to solve this (apart from obviously recreate the pool 
> from scracth, after a backup)?
> 
>   bye & Thanks
>      av.

<snip>


I agree that "<0xffffffffffffffff>:<0x0>" does not look like a file name 
-- it looks like a signed 64-bit integer value of -1 expressed in 
hexadecimal with less-than and greater-than delimiters, followed by a 
colon, followed by 0 expressed in hexadecimal with the same delimiters.


But, AIUI, Unix filenames can contain any characters except NUL.  So, 
there could be a file with that name somewhere on your system.  I 
suggest looking for the file using find(1); if only as a sanity check. 
Be sure to check ".zfs/snapshot" directories also.


David