I went to set up a file server the other day - installed w/
fossil+venti and the install went fine but after booting up it wasn't
long before venti started spamming i/o errors. Now I'm using second
hand disks, so I figure the one I installed to might be stuffed and
boot to the livecd to verify. I partition the disk in half and dd from
one partition to the other, and sure enough it gets an io error on
record 16777212 (w/ 8192 blocksize).
16777212 is awful close to 2^24, but I can't make any sense of why
that would be a limit. If you take the 8192 into account you're around
byte 2^37 which makes even less sense, so I shrug it off as a bad disk
and test the second disk... which gets a read error in the exact same
spot.
So, now I'm suspicious ;)
I can reproduce it quickly with:
term% cat /dev/sdE0/ctl
inquiry ST3300831AS
config 0C5A capabilities 2F00 dma 00550020 dmactl 00000000 rwm 16
rwmctl 0 lba48always off
geometry 586072368 512 16383 16 63
part data 0 586072368
part plan9 63 293025600
part plan9.1 293041665 586067265
term% dd -if /dev/sdE0/plan9 -of /dev/sdE0/plan9.1 -bs 8192 -iseek 16777211
read: i/o error
1+0 records in
1+0 records out
Using blocks of 512 bytes I can narrow it down to the 268435393th
block on the plan9 partition, which is the block that starts at byte
2^37 (in terms of absolute disk position). I can access blocks before
and after it fine, it's just this one... sector? Same story with the
second disk.
The SATA controller details from pci -v:
3.5.0: disk 01.80.00 1095/3114 10 0:0000bc01 16 1:0000b401 16
2:0000b001 16 3:0000ac01 16 4:0000a801 16 5:feafec00 1024
Silicon Image, Inc. Sil 3114 SATALink/SATARaid Controller
Anyone think they know what's going on?
-sqweek