Comment 3 for bug 180472

Revision history for this message
Grant Grundler (grundler) wrote :

Ok. Problem is brain damaged HW. Device reports 1 sector more than it has and wedges when it's accessed.

Jan 19 18:58:48 localhost kernel: scsi 3:0:0:0: Direct-Access HP PhotoSmart R707 A001 PQ: 0 ANSI: 0
Jan 19 18:58:48 localhost kernel: sd 3:0:0:0: [sda] 60801 512-byte hardware sectors (31 MB)
Jan 19 18:58:48 localhost kernel: sd 3:0:0:0: [sda] Write Protect is off
Jan 19 18:58:48 localhost kernel: sd 3:0:0:0: [sda] 60801 512-byte hardware sectors (31 MB)
Jan 19 18:58:48 localhost kernel: sd 3:0:0:0: [sda] Write Protect is off

root@mb500:~ # strace -o strace-dd-HPr707.out dd if=/dev/sda of=/dev/null
skip=60800 count=1
dd: reading `/dev/sda': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 55.7303 seconds, 0.0 kB/s

and relevant bit from strace:
open("/dev/sda", O_RDONLY|O_LARGEFILE) = 0
_llseek(0, 0, [0], SEEK_CUR) = 0
close(1) = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 1
rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0
rt_sigaction(SIGUSR1, {0x80493a0, [INT USR1], 0}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x8049390, [INT USR1], SA_NOMASK|SA_ONESHOT}, NULL, 8) = 0
clock_gettime(CLOCK_MONOTONIC, {70667, 216812381}) = 0
ioctl(0, MGSL_IOCSTXIDLE or MTIOCGET or SNDCTL_MIDI_MPUCMD, 0xbf8e31d0) = -1 EIN
VAL (Invalid argument)
_llseek(0, 31129600, [31129600], SEEK_CUR) = 0
read(0, 0x8059000, 512) = -1 EIO (Input/output error)

Strace I collected before of udev and it's children showed /lib/udev/vol_id doing the same thing.