SATA access beyond end of device - How to fix
dragoran
dragoran at feuerpokemon.de
Fri Mar 24 17:15:49 UTC 2006
Dwaine Garden wrote:
> Dwaine Garden wrote:
>
>> I'm getting the following under Fedora 5 and 6 rawhide. Because of
>> this situation, I can not use a kernel higher than 2.6.15-1.2041_FC5smp.
>> 2064 kernal complains that device-mapper can not divide by chunk
>> size. Logical volume was created by Fedora 5 test2 installation DVD.
>>
>> How would some sorry soul resolve this?
>>
>> PCI: Via IRQ fixup for 0000:00:0f.0, from 11 to 0
>> Mar 21 20:42:30 www kernel: sata_via 0000:00:0f.0: routed to hard irq
>> line 0
>> Mar 21 20:42:30 www kernel: ata1: SATA max UDMA/133 cmd 0xBC00 ctl
>> 0xC002 bmdma 0xCC00 irq 16
>> Mar 21 20:42:30 www kernel: ata2: SATA max UDMA/133 cmd 0xC400 ctl
>> 0xC802 bmdma 0xCC08 irq 16
>> Mar 21 20:42:30 www kernel: ata1: SATA link up 1.5 Gbps (SStatus 113)
>> Mar 21 20:42:30 www kernel: ata1: dev 0 ATA-7, max UDMA/133,
>> 156250000 sectors: LBA48
>> Mar 21 20:42:30 www kernel: ata1: dev 0 configured for UDMA/133
>> Mar 21 20:42:30 www kernel: scsi0 : sata_via
>> Mar 21 20:42:30 www kernel: ata2: SATA link up 1.5 Gbps (SStatus 113)
>> Mar 21 20:42:30 www kernel: ata2: dev 0 ATA-6, max UDMA/133,
>> 156301488 sectors: LBA
>> Mar 21 20:42:30 www kernel: ata2: dev 0 configured for UDMA/133
>> Mar 21 20:42:30 www kernel: scsi1 : sata_via
>> Mar 21 20:42:30 www kernel: Vendor: ATA Model: WDC
>> WD800JD-75LS Rev: 09.0
>> Mar 21 20:42:30 www kernel: Type:
>> Direct-Access ANSI SCSI revision: 05
>> Mar 21 20:42:30 www kernel: SCSI device sda: 156250000 512-byte hdwr
>> sectors (80000 MB)
>> Mar 21 20:42:30 www kernel: sda: Write Protect is off
>> Mar 21 20:42:30 www kernel: SCSI device sda: drive cache: write back
>> Mar 21 20:42:30 www kernel: SCSI device sda: 156250000 512-byte hdwr
>> sectors (80000 MB)
>> Mar 21 20:42:30 www kernel: sda: Write Protect is off
>> Mar 21 20:42:30 www kernel: SCSI device sda: drive cache: write back
>> Mar 21 20:42:30 www kernel: sda: sda1 sda2 sda3
>> Mar 21 20:42:30 www kernel: sd 0:0:0:0: Attached scsi disk sda
>> Mar 21 20:42:30 www kernel: Vendor: ATA Model: WDC
>> WD800JD-22JN Rev: 05.0
>> Mar 21 20:42:30 www kernel: Type:
>> Direct-Access ANSI SCSI revision: 05
>> Mar 21 20:42:30 www kernel: SCSI device sdb: 156301488 512-byte hdwr
>> sectors (80026 MB)
>> Mar 21 20:42:30 www kernel: sdb: Write Protect is off
>> Mar 21 20:42:30 www kernel: SCSI device sdb: drive cache: write back
>> Mar 21 20:42:30 www kernel: SCSI device sdb: 156301488 512-byte hdwr
>> sectors (80026 MB)
>> Mar 21 20:42:30 www kernel: sdb: Write Protect is off
>> Mar 21 20:42:30 www kernel: SCSI device sdb: drive cache: write back
>> Mar 21 20:42:30 www kernel: sdb: unknown partition table
>> Mar 21 20:42:30 www kernel: sd 1:0:0:0: Attached scsi disk sdb
>> Mar 21 20:42:30 www kernel: device-mapper: 4.5.0-ioctl (2005-10-04)
>> initialised: dm-devel at redhat.com
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250010, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249996
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250012, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249997
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250014, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249998
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250010, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249996
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250012, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249997
>> Mar 21 20:42:30 www kernel: attempt to access beyond end of device
>> Mar 21 20:42:30 www kernel: sda: rw=0, want=156250014, limit=156250000
>> Mar 21 20:42:30 www kernel: Buffer I/O error on device dm-0, logical
>> block 156249998
>> Mar 21 20:42:30 www kernel: EXT3-fs: INFO: recovery required on
>> readonly filesystem.
>> Mar 21 20:42:30 www kernel: EXT3-fs: write access will be enabled
>> during recovery.
>> Mar 21 20:42:30 www kernel: kjournald starting. Commit interval 5
>> seconds
>> Mar 21 20:42:31 www kernel: EXT3-fs: dm-4: orphan cleanup on readonly fs
>> Mar 21 20:42:31 www kernel: EXT3-fs: dm-4: 5 orphan inodes deleted
>> Mar 21 20:42:31 www kernel: EXT3-fs: recovery complete.
>> Mar 21 20:42:31 www kernel: EXT3-fs: mounted filesystem with ordered
>> data mode
>>
> Here is the patch which does not allow me to boot. I would be
> grateful for any help where a reformat and install is not needed.
>
>>
>> [PATCH] dm stripe: Fix bounds
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8ba32fde2c5be52865b2fd7e5e3752a46971fabe>
>>
>> author Kevin Corry <kevcorry at us.ibm.com>
>>
>> Fri, 17 Mar 2006 07:04:03 +0000 (23:04 -0800)
>> committer Linus Torvalds <torvalds at g5.osdl.org>
>>
>> Fri, 17 Mar 2006 15:51:25 +0000 (07:51 -0800)
>> commit 8ba32fde2c5be52865b2fd7e5e3752a46971fabe
>> tree 91988d69b76b1d142117b0ed827fc20eb11c9360
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;h=91988d69b76b1d142117b0ed827fc20eb11c9360;hb=8ba32fde2c5be52865b2fd7e5e3752a46971fabe>
>> tree
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;h=91988d69b76b1d142117b0ed827fc20eb11c9360;hb=8ba32fde2c5be52865b2fd7e5e3752a46971fabe>
>>
>> parent 82c3c03a4096badd026c6e337f3c5dde020e9ec6
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82c3c03a4096badd026c6e337f3c5dde020e9ec6>
>> commit
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82c3c03a4096badd026c6e337f3c5dde020e9ec6>
>> | commitdiff
>> <http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8ba32fde2c5be52865b2fd7e5e3752a46971fabe;hp=82c3c03a4096badd026c6e337f3c5dde020e9ec6>
>>
>>
>> [PATCH] dm stripe: Fix bounds
>>
>> The dm-stripe target currently does not enforce that the size of a
>> stripe
>> device be a multiple of the chunk-size. Under certain conditions,
>> this can
>> lead to I/O requests going off the end of an underlying device. This
>> test-case shows one example.
>>
>> echo "0 100 linear /dev/hdb1 0" | dmsetup create linear0
>> echo "0 100 linear /dev/hdb1 100" | dmsetup create linear1
>> echo "0 200 striped 2 32 /dev/mapper/linear0 0 /dev/mapper/linear1 0"
>> | \
>> dmsetup create stripe0
>> dd if=/dev/zero of=/dev/mapper/stripe0 bs=1k
>>
>> This will produce the output:
>> dd: writing '/dev/mapper/stripe0': Input/output error
>> 97+0 records in
>> 96+0 records out
>>
>> And in the kernel log will be:
>> attempt to access beyond end of device
>> dm-0: rw=0, want=104, limit=100
>>
>> The patch will check that the table size is a multiple of the stripe
>> chunk-size when the table is created, which will prevent the above
>> striped
>> device from being created.
>>
>> This should not affect tools like LVM or EVMS, since in all the cases
>> I can
>> think of, striped devices are always created with the sizes being a
>> multiple of the chunk-size.
>>
>> The size of a stripe device must be a multiple of its chunk-size.
>>
>> (akpm: that typecast is quite gratuitous)
>>
>> Signed-off-by: Kevin Corry <kevcorry at us.ibm.com>
>> Signed-off-by: Alasdair G Kergon <agk at redhat.com>
>> Signed-off-by: Andrew Morton <akpm at osdl.org>
>> Signed-off-by: Linus Torvalds <torvalds at osdl.org>
>
>
I have the same problem with a IDE harddisk see:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179564
no solution until now and seems that it still exists in FC5
More information about the fedora-test-list
mailing list