CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/05/27 06:35:40
Modified files:
sbin/dump : main.c traverse.c
sbin/ncheck_ffs: ncheck_ffs.c
Log message:
Where trying to pread() a single disk sector, the i/o must be for the
actual disk sector size and not DEV_BSIZE. The sector size must be
obtained via the disklabel. Larger i/o's must be multiple sectors,
so when retrying with a smaller size shrink the attempt by one sector
and not DEV_BSIZE.
Of course if your d_secsize is DEV_BSIZE, this will all be a no-op.
This does not make non-512-byte sectors work, but puts in place the
logic to get and use the disklabel info. Which makes the next diffs
bite sized and focused.
ok guenther@