> On May 30, 2026, at 6:37 AM, Jason Thorpe <[email protected]> wrote:
> 
> I mean, if someone ran bad144(8) it might have populated it once.  But upon 
> reboot, nothing would repopulate it from the bad144 table on-disk, read in as 
> part of readdisklabel().

Actually, let me clarify that just a bit more: The code in _wdc_ata_bio_start() 
would see D_BADSECT in the in-memory copy of the disklabel (in the flags 
field), which if course would come from reading the on-disk disklabel.

The issue is that the “bad144intern()” function that actually populates the 
“badsect[]” array used in _wdc_ata_bio_start() is only called from the DIOCSBAD 
handling in wdioctl().  So _wdc_ata_bio_start() would see D_BADSECT, consult 
the “badsect[]” array, and then find it to be empty.

-- thorpej

Reply via email to