HomeFreeBSD

Fix fsck_ffs incorrectly reporting "CANNOT READ BLK: NNNN" errors.

Description

Fix fsck_ffs incorrectly reporting "CANNOT READ BLK: NNNN" errors.

A long-standing bug in Pass 1 of fsck_ffs in which it is reading in
blocks of inodes to check their block pointers. It failed to round
up the size of the read to a disk block size. When disks would
accept 512-byte aligned reads, the bug rarely manifested itself.
But many recent disks will no longer accept 512-byte aligned reads
but require 4096-byte aligned reads, so the failure to properly
round-up read sizes to multiples of 4096 bytes makes the error
much more likely to occur.

Reported by: Peter Holm and others
Tested by: Peter Holm and Rozhuk Ivan
MFC after: 3 days
Sponsored by: Netflix

Details

Provenance
mckusickAuthored on Jan 26 2021, 7:46 PM
Parents
rG2cf84258922f: Bump __FreeBSD_version after e63539f3059728ff58328ac0ecb2a7bf4e2f08e8
Branches
Unknown
Tags
Unknown