2002-08-27 22:14:54

by Andre Hedrick

[permalink] [raw]
Subject: ide-2.4.20-pre4-ac2.patch


This is out and has been forwarded to AC for review.

Joel Becker
Nick Bellinger
Alan Cox
Peter Denison
Jeff Garzik
Benjamin Herrensch
Roman Zippel
Alexander Viro

Others helped with ideas and concepts.

This should work on all archs in IDE, there may be other issues which
causes compile failures but should not be related to IDE.

http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.4.20/ide-2.4.20-pre4-ac2.patch.bz2
http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.4.20/ide-2.4.20-pre4-ac2.patch.gz
http://www.linuxdiskcert.org/ide-2.4.20-pre4-ac2.patch.bz2

http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.5.32/

This shall have something in it soon, as I am reviewing the pieces to pick
up and play catch up in 2.5 learning curve as to beat the Halloween
DEAD-DATE.

Cheers,

Andre Hedrick
LAD Storage Consulting Group





2002-08-28 07:57:07

by Markus Plail

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

Hi Andre!

* Andre Hedrick writes:
>This is out and has been forwarded to AC for review.

>Others helped with ideas and concepts.

>This should work on all archs in IDE, there may be other issues which
>causes compile failures but should not be related to IDE.

Just wanted to tell, that with this version my kernel oops while
mounting ide-scsi driven CD/DVD drives is gone. Thanks!

regards
Markus

2002-08-28 09:11:12

by jurriaan

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

From: Andre Hedrick <[email protected]>
Date: Tue, Aug 27, 2002 at 03:17:31PM -0700
>
> This is out and has been forwarded to AC for review.
>
burning an ide-scsi cdrom works better:

==========================
INTEL :cdrecord -v -eject -speed=16 -dev=1,0,0 test.iso02.iso
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 J?rg Schilling
TOC Type: 1 = CD-ROM
scsidev: '1,0,0'
scsibus: 1 target: 0 lun: 0
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.5'
atapi: 1
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'LITE-ON '
Identifikation : 'LTR-40125W '
Revision : 'WS05'
Device seems to be: Generic mmc CD-RW.
Using generic SCSI-3/mmc CD-R driver (mmc_cdr).
Driver flags : SWABAUDIO
Drive buf size : 1895168 = 1850 KB
FIFO size : 4194304 = 4096 KB
Track 01: data 393 MB
Total size: 451 MB (44:43.57) = 201268 sectors
Lout start: 451 MB (44:45/43) = 201268 sectors

scsi : aborting command due to timeout : pid 73, scsi1, channel 0, id 0, lun 0 Mode Sense (10) 00 3f 00 00 00 00 01 03 00
hdc: irq timeout: status=0xd0 { Busy }
hdc: DMA disabled
hdc: ATAPI reset complete
hdc: irq timeout: status=0xc0 { Busy }
hdc: ATAPI reset complete
hdc: irq timeout: status=0xc0 { Busy }
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 5
Is not unrestricted
Is not erasable
Disk sub type: Medium Type A, high Beta category (A+) (3)
ATIP start of lead in: -12513 (97:15/12)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Long strategy type (Cyanine, AZO or similar)
Manuf. index: 22
Manufacturer: Ritek Co.
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 158581
Starting to write CD/DVD at speed 16 in write mode for single session.
Last chance to quit, starting real write in 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
==========================
However, I got worrying messages from my hdk drive shortly afterwards:


==========================
Aug 28 10:56:57 middle kernel: hdk: drive not ready for command
Aug 28 10:56:57 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:56:57 middle kernel:
Aug 28 10:56:57 middle kernel: hdk: drive not ready for command
Aug 28 10:57:02 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:02 middle kernel:
Aug 28 10:57:02 middle kernel: hdk: drive not ready for command
Aug 28 10:57:08 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:08 middle kernel:
Aug 28 10:57:08 middle kernel: hdk: drive not ready for command
Aug 28 10:57:08 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:08 middle kernel:
Aug 28 10:57:08 middle kernel: hdk: drive not ready for command
Aug 28 10:57:18 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:18 middle kernel:
Aug 28 10:57:18 middle kernel: hdk: drive not ready for command
Aug 28 10:57:18 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:18 middle kernel:
Aug 28 10:57:18 middle kernel: hdk: drive not ready for command
Aug 28 10:57:23 middle kernel: hdk: status error: status=0x58 { DriveReady SeekComplete DataRequest }
Aug 28 10:57:23 middle kernel:
Aug 28 10:57:23 middle kernel: hdk: drive not ready for command
==========================

lspci:
==========================
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev c4)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 16)
00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 16)
00:07.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
00:09.0 Unknown mass storage controller: Promise Technology, Inc. 20265 (rev 02)
00:0a.0 SCSI storage controller: LSI Logic / Symbios Logic (formerly NCR) 53c860 (rev 13)
00:0b.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
00:0b.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 07)
00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10)
00:0e.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366 / HPT370 (rev 03)
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 03)
==========================

dmesg (only relevant lines):
==========================
Linux version 2.4.20-pre4-ac2 (root@middle) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 SMP Mon Aug 26 15:51:13 CEST 2002
127MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f5770
Intel MultiProcessor Specification v1.4
Processors: 2
Kernel command line: root=/dev/hda7 video=matrox:vesa:0x11E,fv:80,sgram hdc=scsi apm=power-off mem=1048512K
ide_setup: hdc=scsi
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha1
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
ide0: BM-DMA at 0xa000-0xa007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xa008-0xa00f, BIOS settings: hdc:pio, hdd:pio
PDC20265: IDE controller on PCI bus 00 dev 48
PDC20265: chipset revision 2
PDC20265: not 100% native mode: will probe irqs later
PDC20265: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
PDC20265: FORCING BURST BIT 0x00->0x01 ACTIVE
ide2: BM-DMA at 0xbc00-0xbc07, BIOS settings: hde:pio, hdf:pio
ide3: BM-DMA at 0xbc08-0xbc0f, BIOS settings: hdg:pio, hdh:DMA
HPT370: IDE controller on PCI bus 00 dev 70
HPT370: chipset revision 3
HPT370: not 100% native mode: will probe irqs later
HPT37X: using 33MHz PCI clock
ide4: BM-DMA at 0xe000-0xe007, BIOS settings: hdi:DMA, hdj:pio
ide5: BM-DMA at 0xe008-0xe00f, BIOS settings: hdk:DMA, hdl:pio
hda: Maxtor 33073H3, ATA DISK drive
hdc: LITE-ON LTR-40125W, ATAPI CD/DVD-ROM drive
hde: IBM-DTLA-307045, ATA DISK drive
ULTRA 66/100/133: Primary channel of Ultra 66/100/133 requires an 80-pin cable for Ultra66 operation.
Switching to Ultra33 mode.
Warning: Primary channel requires an 80-pin cable for operation.
hde reduced to Ultra33 mode.
hdi: Maxtor 4G120J6, ATA DISK drive
hdk: Maxtor 4G120J6, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xac00-0xac07,0xb002 on irq 16
ide4 at 0xd000-0xd007,0xd402 on irq 18
ide5 at 0xd800-0xd807,0xdc02 on irq 18
hda: host protected area => 1
hda: 60032448 sectors (30737 MB) w/2048KiB Cache, CHS=3736/255/63, UDMA(100)
hde: host protected area => 1
hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63, UDMA(33)
hdi: host protected area => 1
hdi: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(100)
hdk: host protected area => 1
hdk: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(100)
ide-cd: passing drive hdc to ide-scsi emulation.
Partition check:
hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 >
hde: [PTBL] [5606/255/63] hde1 hde2 hde3
hdi: hdi1 hdi2 hdi3
hdk: hdk1 hdk2 hdk3
Floppy drive(s): fd0 is 1.44M
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
[events: 00000020]
[events: 00000020]
[events: 00000020]
md: autorun ...
md: considering hdk3 ...
md: adding hdk3 ...
md: adding hdi3 ...
md: adding hde3 ...
md: created md0
md: bind<hde3,1>
md: bind<hdi3,2>
md: bind<hdk3,3>
md: running: <hdk3><hdi3><hde3>
md: hdk3's event counter: 00000020
md: hdi3's event counter: 00000020
md: hde3's event counter: 00000020
md0: max total readahead window set to 768k
md0: 3 data-disks, max readahead per data-disk: 256k
raid0: looking at hde3
raid0: comparing hde3(6554432) with hde3(6554432)
raid0: END
raid0: ==> UNIQUE
raid0: 1 zones
raid0: looking at hdi3
raid0: comparing hdi3(6554432) with hde3(6554432)
raid0: EQUAL
raid0: looking at hdk3
raid0: comparing hdk3(6554432) with hde3(6554432)
raid0: EQUAL
raid0: FINAL 1 zones
raid0: zone 0
raid0: checking hde3 ... contained as device 0
(6554432) is smallest!.
raid0: checking hdi3 ... contained as device 1
raid0: checking hdk3 ... contained as device 2
raid0: zone->nb_dev: 3, size: 19663296
raid0: current zone offset: 6554432
raid0: done.
raid0 : md_size is 19663296 blocks.
raid0 : conf->smallest->size is 19663296 blocks.
raid0 : nb_zone is 1.
raid0 : Allocating 8 bytes for hash.
md: updating md0 RAID superblock on device
md: hdk3 [events: 00000021]<6>(write) hdk3's sb offset: 6554432
md: hdi3 [events: 00000021]<6>(write) hdi3's sb offset: 6554432
md: hde3 [events: 00000021]<6>(write) hde3's sb offset: 6554432
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
==========================

and afterwards, my raid-0 array was corrupted:

==========================
Aug 28 11:09:38 middle kernel: vs-5150: search_by_key: invalid format found in block 796367. Fsck?
Aug 28 11:09:38 middle kernel: vs-13070: reiserfs_read_inode2: i/o failure occurred trying to find stat data of [10133 31020 0x0 SD]
Aug 28 11:09:38 middle kernel: is_tree_node: node level 65535 does not match to the expected one 1
Aug 28 11:09:38 middle kernel: vs-5150: search_by_key: invalid format found in block 796367. Fsck?
Aug 28 11:09:38 middle kernel: vs-13070: reiserfs_read_inode2: i/o failure occurred trying to find stat data of [10133 31021 0x0 SD]
Aug 28 11:09:38 middle kernel: is_tree_node: node level 65535 does not match to the expected one 1
==========================

This kind of corruption required reiserfsck --rebuild-tree, which gives
all sorts of nice messages afterwards:

==========================
Flushing..done
Files found: 4526
Directories found: 314
Names pointing to nowhere (removed): 144
Pass 3a (looking for lost dir/files):
####### Pass 3a (lost+found pass) #########
Looking for lost directories:
Looking for lost files:1 /sec
Flushing..done done 0, 0 /sec
Objects without names 151
Empty lost dirs removed 151
Files linked to /lost+found 151
Pass 4 - done done 0, 0 /sec
Flushing..done
Syncing..done
###########
reiserfsck finished at Wed Aug 28 11:13:42 2002
###########
==========================

And I still get the erroneous '80-pin cable needed' message, and I am
using an 80-pin cable.

Hope this helps,
Jurriaan
--
Put it this way, when people slip in what dogs have left in the streets,
they do tend to say, 'Oops, I've trod in an Edmund'.
Blackadder II
GNU/Linux 2.4.20-pre4-ac2 SMP/ReiserFS 2x1402 bogomips load av: 0.02 0.19 0.26

2002-08-28 17:55:57

by Tomas Szepe

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

> This is out and has been forwarded to AC for review.

Okay, I tested this the hard way -- the root of one of my machines
got trashed. The controller used was a PDC20268 (Ultra100TX2), the
disks (with two partitions of equal size on each forming a raid0)
are IBM and WD. Soon after the kernel came up, it started spitting
messages like 'DMA disabled' and 'No DRQ after WRITE has been issued',
after which the machine froze entirely. Rebooting w/ an alternate
kernel revealed massive fs corruption with the superblock completely
overwritten.

*** Everybody please treat this patch with extreme care. ***

Reiserfs people, this unfortunate event also made me find out about
the inability of reiserfsck 3.6.3-pre1 to rebuild the node tree --
the program pretends to work just fine but the in-kernel fs code
barfs when it's to operate on a repaired fs. 3.x.1b was able to
get the job done for me, though.

T.

2002-08-28 18:28:15

by Tomas Szepe

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

> Big jump in clean up and debloating.
> If you try the patch and it repeats, you can re-LART me.

Since I have to reinstall the darn system anyway, I will
at least test the patch. Will let you know later tonight.

T.


> > > WHOA Tomas,
> > >
> > > That is a major problem, are you using legacy patch or taskfile io?
> > > Ben H reported he was having problems with legacy path on PPC, but the new
> > > taskfile io worked fine.
> >
> > Damn! Andre, I owe you **A BIG** apology -- it turns out the kernel that
> > caused the mess was actually a plain 2.4.20-pre4-ac2 _without_ your patch
> > applied -- dunno how far that is from what you have now. Nevertheless,
> > here's the corresponding 2.4.20-pre4-ac2 IDE config:
> >
> > #
> > # IDE chipset support/bugfixes
> > #
> > # CONFIG_BLK_DEV_CMD640 is not set
> > # CONFIG_BLK_DEV_CMD640_ENHANCED is not set
> > # CONFIG_BLK_DEV_ISAPNP is not set
> > CONFIG_BLK_DEV_IDEPCI=y
> > CONFIG_BLK_DEV_GENERIC=y
> > CONFIG_IDEPCI_SHARE_IRQ=y
> > CONFIG_BLK_DEV_IDEDMA_PCI=y
> > # CONFIG_BLK_DEV_OFFBOARD is not set
> > # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
> > CONFIG_IDEDMA_PCI_AUTO=y
> > # CONFIG_IDEDMA_ONLYDISK is not set
> > CONFIG_BLK_DEV_IDEDMA=y
> > # CONFIG_IDEDMA_PCI_WIP is not set
> > # CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
> > CONFIG_BLK_DEV_ADMA=y
> > # CONFIG_BLK_DEV_AEC62XX is not set
> > # CONFIG_BLK_DEV_ALI15X3 is not set
> > # CONFIG_WDC_ALI15X3 is not set
> > # CONFIG_BLK_DEV_AMD74XX is not set
> > # CONFIG_AMD74XX_OVERRIDE is not set
> > # CONFIG_BLK_DEV_CMD64X is not set
> > # CONFIG_BLK_DEV_CY82C693 is not set
> > # CONFIG_BLK_DEV_CS5530 is not set
> > # CONFIG_BLK_DEV_HPT34X is not set
> > # CONFIG_HPT34X_AUTODMA is not set
> > # CONFIG_BLK_DEV_HPT366 is not set
> > CONFIG_BLK_DEV_PIIX=y
> > # CONFIG_BLK_DEV_NFORCE is not set
> > # CONFIG_BLK_DEV_NS87415 is not set
> > # CONFIG_BLK_DEV_OPTI621 is not set
> > # CONFIG_BLK_DEV_PDC202XX_OLD is not set
> > # CONFIG_PDC202XX_BURST is not set
> > CONFIG_BLK_DEV_PDC202XX_NEW=y
> > # CONFIG_PDC202XX_FORCE is not set
> > # CONFIG_BLK_DEV_RZ1000 is not set
> > # CONFIG_BLK_DEV_SVWKS is not set
> > # CONFIG_BLK_DEV_SIIMAGE is not set
> > # CONFIG_BLK_DEV_SIS5513 is not set
> > # CONFIG_BLK_DEV_SLC90E66 is not set
> > # CONFIG_BLK_DEV_TRM290 is not set
> > # CONFIG_BLK_DEV_VIA82CXXX is not set
> > # CONFIG_IDE_CHIPSETS is not set
> > CONFIG_IDEDMA_AUTO=y
> > # CONFIG_IDEDMA_IVB is not set
> > # CONFIG_DMA_NONPCI is not set
> > CONFIG_BLK_DEV_PDC202XX=y
> > CONFIG_BLK_DEV_IDE_MODES=y
> > # CONFIG_BLK_DEV_ATARAID is not set
> > # CONFIG_BLK_DEV_ATARAID_PDC is not set
> > # CONFIG_BLK_DEV_ATARAID_HPT is not set
> >
> >
> > > On Wed, 28 Aug 2002, Tomas Szepe wrote:
> > >
> > > > > This is out and has been forwarded to AC for review.
> > > >
> > > > Okay, I tested this the hard way -- the root of one of my machines
> > > > got trashed. The controller used was a PDC20268 (Ultra100TX2), the
> > > > disks (with two partitions of equal size on each forming a raid0)
> > > > are IBM and WD. Soon after the kernel came up, it started spitting
> > > > messages like 'DMA disabled' and 'No DRQ after WRITE has been issued',
> > > > after which the machine froze entirely. Rebooting w/ an alternate
> > > > kernel revealed massive fs corruption with the superblock completely
> > > > overwritten.
> > > >
> > > > *** Everybody please treat this patch with extreme care. ***
> > > >
> > > > Reiserfs people, this unfortunate event also made me find out about
> > > > the inability of reiserfsck 3.6.3-pre1 to rebuild the node tree --
> > > > the program pretends to work just fine but the in-kernel fs code
> > > > barfs when it's to operate on a repaired fs. 3.x.1b was able to
> > > > get the job done for me, though.
> > > >
> > > > T.
> > > > -
> > > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > > the body of a message to [email protected]
> > > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > > > Please read the FAQ at http://www.tux.org/lkml/
> > > >
> > >
> > > Andre Hedrick
> > > LAD Storage Consulting Group
> >
>
> Andre Hedrick
> LAD Storage Consulting Group

2002-08-28 18:26:09

by Andre Hedrick

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch


Big jump in clean up and debloating.
If you try the patch and it repeats, you can re-LART me.

On Wed, 28 Aug 2002, Tomas Szepe wrote:

> > WHOA Tomas,
> >
> > That is a major problem, are you using legacy patch or taskfile io?
> > Ben H reported he was having problems with legacy path on PPC, but the new
> > taskfile io worked fine.
>
> Damn! Andre, I owe you **A BIG** apology -- it turns out the kernel that
> caused the mess was actually a plain 2.4.20-pre4-ac2 _without_ your patch
> applied -- dunno how far that is from what you have now. Nevertheless,
> here's the corresponding 2.4.20-pre4-ac2 IDE config:
>
> #
> # IDE chipset support/bugfixes
> #
> # CONFIG_BLK_DEV_CMD640 is not set
> # CONFIG_BLK_DEV_CMD640_ENHANCED is not set
> # CONFIG_BLK_DEV_ISAPNP is not set
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_BLK_DEV_GENERIC=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> CONFIG_BLK_DEV_IDEDMA_PCI=y
> # CONFIG_BLK_DEV_OFFBOARD is not set
> # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
> CONFIG_IDEDMA_PCI_AUTO=y
> # CONFIG_IDEDMA_ONLYDISK is not set
> CONFIG_BLK_DEV_IDEDMA=y
> # CONFIG_IDEDMA_PCI_WIP is not set
> # CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
> CONFIG_BLK_DEV_ADMA=y
> # CONFIG_BLK_DEV_AEC62XX is not set
> # CONFIG_BLK_DEV_ALI15X3 is not set
> # CONFIG_WDC_ALI15X3 is not set
> # CONFIG_BLK_DEV_AMD74XX is not set
> # CONFIG_AMD74XX_OVERRIDE is not set
> # CONFIG_BLK_DEV_CMD64X is not set
> # CONFIG_BLK_DEV_CY82C693 is not set
> # CONFIG_BLK_DEV_CS5530 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
> # CONFIG_HPT34X_AUTODMA is not set
> # CONFIG_BLK_DEV_HPT366 is not set
> CONFIG_BLK_DEV_PIIX=y
> # CONFIG_BLK_DEV_NFORCE is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_PDC202XX_OLD is not set
> # CONFIG_PDC202XX_BURST is not set
> CONFIG_BLK_DEV_PDC202XX_NEW=y
> # CONFIG_PDC202XX_FORCE is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
> # CONFIG_BLK_DEV_SVWKS is not set
> # CONFIG_BLK_DEV_SIIMAGE is not set
> # CONFIG_BLK_DEV_SIS5513 is not set
> # CONFIG_BLK_DEV_SLC90E66 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> # CONFIG_BLK_DEV_VIA82CXXX is not set
> # CONFIG_IDE_CHIPSETS is not set
> CONFIG_IDEDMA_AUTO=y
> # CONFIG_IDEDMA_IVB is not set
> # CONFIG_DMA_NONPCI is not set
> CONFIG_BLK_DEV_PDC202XX=y
> CONFIG_BLK_DEV_IDE_MODES=y
> # CONFIG_BLK_DEV_ATARAID is not set
> # CONFIG_BLK_DEV_ATARAID_PDC is not set
> # CONFIG_BLK_DEV_ATARAID_HPT is not set
>
>
> > On Wed, 28 Aug 2002, Tomas Szepe wrote:
> >
> > > > This is out and has been forwarded to AC for review.
> > >
> > > Okay, I tested this the hard way -- the root of one of my machines
> > > got trashed. The controller used was a PDC20268 (Ultra100TX2), the
> > > disks (with two partitions of equal size on each forming a raid0)
> > > are IBM and WD. Soon after the kernel came up, it started spitting
> > > messages like 'DMA disabled' and 'No DRQ after WRITE has been issued',
> > > after which the machine froze entirely. Rebooting w/ an alternate
> > > kernel revealed massive fs corruption with the superblock completely
> > > overwritten.
> > >
> > > *** Everybody please treat this patch with extreme care. ***
> > >
> > > Reiserfs people, this unfortunate event also made me find out about
> > > the inability of reiserfsck 3.6.3-pre1 to rebuild the node tree --
> > > the program pretends to work just fine but the in-kernel fs code
> > > barfs when it's to operate on a repaired fs. 3.x.1b was able to
> > > get the job done for me, though.
> > >
> > > T.
> > > -
> > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > the body of a message to [email protected]
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at http://www.tux.org/lkml/
> > >
> >
> > Andre Hedrick
> > LAD Storage Consulting Group
>

Andre Hedrick
LAD Storage Consulting Group

2002-08-28 18:18:00

by Andre Hedrick

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch


WHOA Tomas,

That is a major problem, are you using legacy patch or taskfile io?
Ben H reported he was having problems with legacy path on PPC, but the new
taskfile io worked fine.

On Wed, 28 Aug 2002, Tomas Szepe wrote:

> > This is out and has been forwarded to AC for review.
>
> Okay, I tested this the hard way -- the root of one of my machines
> got trashed. The controller used was a PDC20268 (Ultra100TX2), the
> disks (with two partitions of equal size on each forming a raid0)
> are IBM and WD. Soon after the kernel came up, it started spitting
> messages like 'DMA disabled' and 'No DRQ after WRITE has been issued',
> after which the machine froze entirely. Rebooting w/ an alternate
> kernel revealed massive fs corruption with the superblock completely
> overwritten.
>
> *** Everybody please treat this patch with extreme care. ***
>
> Reiserfs people, this unfortunate event also made me find out about
> the inability of reiserfsck 3.6.3-pre1 to rebuild the node tree --
> the program pretends to work just fine but the in-kernel fs code
> barfs when it's to operate on a repaired fs. 3.x.1b was able to
> get the job done for me, though.
>
> T.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

Andre Hedrick
LAD Storage Consulting Group

2002-08-28 18:22:03

by Tomas Szepe

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

> WHOA Tomas,
>
> That is a major problem, are you using legacy patch or taskfile io?
> Ben H reported he was having problems with legacy path on PPC, but the new
> taskfile io worked fine.

Damn! Andre, I owe you **A BIG** apology -- it turns out the kernel that
caused the mess was actually a plain 2.4.20-pre4-ac2 _without_ your patch
applied -- dunno how far that is from what you have now. Nevertheless,
here's the corresponding 2.4.20-pre4-ac2 IDE config:

#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_AMD74XX_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NFORCE is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_PDC202XX_BURST is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_PDC202XX=y
CONFIG_BLK_DEV_IDE_MODES=y
# CONFIG_BLK_DEV_ATARAID is not set
# CONFIG_BLK_DEV_ATARAID_PDC is not set
# CONFIG_BLK_DEV_ATARAID_HPT is not set


> On Wed, 28 Aug 2002, Tomas Szepe wrote:
>
> > > This is out and has been forwarded to AC for review.
> >
> > Okay, I tested this the hard way -- the root of one of my machines
> > got trashed. The controller used was a PDC20268 (Ultra100TX2), the
> > disks (with two partitions of equal size on each forming a raid0)
> > are IBM and WD. Soon after the kernel came up, it started spitting
> > messages like 'DMA disabled' and 'No DRQ after WRITE has been issued',
> > after which the machine froze entirely. Rebooting w/ an alternate
> > kernel revealed massive fs corruption with the superblock completely
> > overwritten.
> >
> > *** Everybody please treat this patch with extreme care. ***
> >
> > Reiserfs people, this unfortunate event also made me find out about
> > the inability of reiserfsck 3.6.3-pre1 to rebuild the node tree --
> > the program pretends to work just fine but the in-kernel fs code
> > barfs when it's to operate on a repaired fs. 3.x.1b was able to
> > get the job done for me, though.
> >
> > T.
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> >
>
> Andre Hedrick
> LAD Storage Consulting Group

2002-08-28 20:45:57

by Alan Cox

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

> In the end it _was_ the new code that made me feel soooo happy
> today. So another sorry goes to Alan for blaming 2.4.20-pre4-ac2.
> What a fine example of hasty reporting I've managed to display. :)

I appreciate all the testing immensely. Now I know to merge just the
obvious bits of that patch piece by piece as I was thinking I ought to.

2002-08-28 20:37:57

by Tomas Szepe

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

> > Big jump in clean up and debloating.
> > If you try the patch and it repeats, you can re-LART me.
>
> Since I have to reinstall the darn system anyway, I will
> at least test the patch. Will let you know later tonight.

Okay, I screwed up. Obviously I haven't had much sleep lately.
In the end it _was_ the new code that made me feel soooo happy
today. So another sorry goes to Alan for blaming 2.4.20-pre4-ac2.
What a fine example of hasty reporting I've managed to display. :)

Let's revise, though:

$ tar xzf linux-2.4.19.tgz
$ mv linux-2.4.19 linux-2.4.20-pre4-ac2-newide
$ cd linux-2.4.20-pre4-ac2-newide
$ zcat ../patch-2.4.20-pre4.gz ../patch-2.4.20-pre4-ac2.gz \
../2.4.20-pre4-ac2-newide.gz| patch -sp1
$ vi Makefile
(modify EXTRAVERSION)
$ cp /tmp/.config .
$ make oldconfig dep clean bzImage modules

...

Proceed to boot with 'init=/bin/bash ro':

Linux version 2.4.20-pre4-ac2-newide (kala@nibbler) (gcc version 3.2) #2 Wed Aug 28 21:51:20 CEST 2002BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f1a60 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000005fffc00 (usable)
BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved)
95MB LOWMEM available.
On node 0 totalpages: 24575
zone(0): 4096 pages.
zone(1): 20479 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=test ro root=900 ide2=ata66 ide3=ata66 reboot=w init=/bin/bash
ide_setup: ide2=ata66
ide_setup: ide3=ata66
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
Detected 233.035 MHz processor.
Console: colour VGA+ 80x30
Calibrating delay loop... 465.30 BogoMIPS
Memory: 94696k/98300k available (1184k kernel code, 3212k reserved, 281k data, 256k init, 0k highmem)
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
ramfs: mounted with options: <defaults>
ramfs: max_pages=11837 max_file_pages=0 max_inodes=0 max_dentries=11837
Buffer cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
CPU: Before vendor init, caps: 0080fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0080fbff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0080fbff 00000000 00000000 00000000
CPU: Common caps: 0080fbff 00000000 00000000 00000000
CPU: Intel Pentium II (Klamath) stepping 03
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 233.0181 MHz.
..... host bus clock speed is 66.5763 MHz.
cpu: 0, clocks: 665763, slice: 332881
CPU0<T0:665760,T1:332864,D:15,S:332881,C:665763>
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xf6ebd, last bus=0
PCI: Using configuration type 1
PCI: Probing PCI hardware
Limiting direct PCI/PCI transfers.
Activating ISA DMA hang workarounds.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
Starting kswapd
Journalled Block Device driver loaded
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha1
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX3: IDE controller at PCI slot 00:04.1
PCI: Enabling device 00:04.1 (0000 -> 0001)
PIIX3: chipset revision 0
PIIX3: not 100% native mode: will probe irqs later
PIIX3: neither IDE port enabled (BIOS)
PDC20268: IDE controller at PCI slot 00:06.0
PDC20268: chipset revision 2
PDC20268: not 100% native mode: will probe irqs later
ide2: BM-DMA at 0xf8b0-0xf8b7, BIOS settings: hde:pio, hdf:pio
ide3: BM-DMA at 0xf8b8-0xf8bf, BIOS settings: hdg:pio, hdh:pio
hde: WDC WD205BA, ATA DISK drive
hde: DMA disabled
hde: DMA disabled
hde: DMA disabled
hdg: IBM-DJNA-351520, ATA DISK drive
hdg: DMA disabled
hdg: DMA disabled
hdg: DMA disabled
ide2 at 0xf898-0xf89f,0xf8aa on irq 9
ide3 at 0xf8a0-0xf8a7,0xf8ae on irq 9
hde: host protected area => 1
hde: 40088160 sectors (20525 MB) w/2048KiB Cache, CHS=39770/16/63
hdg: host protected area => 1
hdg: 30033360 sectors (15377 MB) w/430KiB Cache, CHS=29795/16/63
Partition check:
hde: [PTBL] [2495/255/63] hde1 hde2 hde3
hdg: [PTBL] [1869/255/63] hdg1 hdg2
md: raid0 personality registered as nr 2
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
[snip]

Right, let's play "mess the fs," shall we?

init-2.05a# mount -o remount,rw /
init-2.05a# >x
hde: status error: status=0x50 { DriveReady SeekComplete }

hde: no DRQ after issuing WRITE
hdg: status error: status=0x50 { DriveReady SeekComplete }

hdg: no DRQ after issuing WRITE
init-2.05a# sync

--> You are now dead. Thanks for using stop'n'drop.

T.

2002-08-29 23:12:17

by Roman Zippel

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

Hi,

On 29 Aug 2002, Alan Cox wrote:

> Gayle I think should be m68k
> not ppc (actually Im pretty sure),

It's for m68k and ppc Amigas, but I don't think two separate drivers are
needed.

bye, Roman

2002-08-29 22:53:47

by Alan

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

On Tue, 2002-08-27 at 23:17, Andre Hedrick wrote:
>
> This is out and has been forwarded to AC for review.

Rejected. I found several errors, a couple of strange reverts and some
files being moved to clearly wrong places. It also mixes up multiple
changes.

Andre to make this work I need
- One change per patch (within reason)
- An explanation of what it does

For example I've got files you moved and changed, looking at that in
diff is a right pita. I've got a big diff with errors in it (eg gayle in
ppc) I can't easily be sure I can cleanly drop parts of.

Lets start with the file moving. Send me a diff for the Config/Makefile
and a lit of the files to move and where. Gayle I think should be m68k
not ppc (actually Im pretty sure), CMD640 is PCI so why file it in
legacy. "legacy" I took to mean pre PCI rather than "I think its junk"
8)


2002-08-29 23:17:56

by Alan

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

On Fri, 2002-08-30 at 00:16, Roman Zippel wrote:
> Hi,
>
> On 29 Aug 2002, Alan Cox wrote:
>
> > Gayle I think should be m68k
> > not ppc (actually Im pretty sure),
>
> It's for m68k and ppc Amigas, but I don't think two separate drivers are
> needed.

So its actually a false divide and dumping them in "legacy" is probably
a lot simpler ?

2002-08-29 23:39:45

by Roman Zippel

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

Hi,

On 30 Aug 2002, Alan Cox wrote:

> > > Gayle I think should be m68k
> > > not ppc (actually Im pretty sure),
> >
> > It's for m68k and ppc Amigas, but I don't think two separate drivers are
> > needed.
>
> So its actually a false divide and dumping them in "legacy" is probably
> a lot simpler ?

Hmm, somehow I more like "m68k". :)

bye, Roman

2002-08-30 00:53:08

by Daniel Egger

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

Am Fre, 2002-08-30 um 01.16 schrieb Roman Zippel:

> It's for m68k and ppc Amigas, but I don't think two separate drivers are
> needed.

Are there native PPC Amigas which have the Gayle? IIRC only the 1200s
and the 4000s had the Gayle...

--
Servus,
Daniel


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2002-08-30 03:34:46

by Andre Hedrick

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch


Deal, undoing the moves.

Parsing out all the summitted stuff first for send.
Then the breakdown of the rest.

Gemme a bit to catch on to your request, Viro is trying to teach the ways
of mad patcher and not the patch bomber.

Cheers,

On 29 Aug 2002, Alan Cox wrote:

> On Tue, 2002-08-27 at 23:17, Andre Hedrick wrote:
> >
> > This is out and has been forwarded to AC for review.
>
> Rejected. I found several errors, a couple of strange reverts and some
> files being moved to clearly wrong places. It also mixes up multiple
> changes.
>
> Andre to make this work I need
> - One change per patch (within reason)
> - An explanation of what it does
>
> For example I've got files you moved and changed, looking at that in
> diff is a right pita. I've got a big diff with errors in it (eg gayle in
> ppc) I can't easily be sure I can cleanly drop parts of.
>
> Lets start with the file moving. Send me a diff for the Config/Makefile
> and a lit of the files to move and where. Gayle I think should be m68k
> not ppc (actually Im pretty sure), CMD640 is PCI so why file it in
> legacy. "legacy" I took to mean pre PCI rather than "I think its junk"
> 8)
>
>

Andre Hedrick
LAD Storage Consulting Group

2002-08-30 07:32:10

by Roman Zippel

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

Hi,

On 30 Aug 2002, Daniel Egger wrote:

> > It's for m68k and ppc Amigas, but I don't think two separate drivers are
> > needed.
>
> Are there native PPC Amigas which have the Gayle? IIRC only the 1200s
> and the 4000s had the Gayle...

Yes, but you can put in another processor board.

bye, Roman

2002-08-30 08:36:52

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

>Rejected. I found several errors, a couple of strange reverts and some
>files being moved to clearly wrong places. It also mixes up multiple
>changes.
>
>Andre to make this work I need
> - One change per patch (within reason)
> - An explanation of what it does
>
>For example I've got files you moved and changed, looking at that in
>diff is a right pita. I've got a big diff with errors in it (eg gayle in
>ppc) I can't easily be sure I can cleanly drop parts of.
>
>Lets start with the file moving. Send me a diff for the Config/Makefile
>and a lit of the files to move and where. Gayle I think should be m68k
>not ppc (actually Im pretty sure), CMD640 is PCI so why file it in
>legacy. "legacy" I took to mean pre PCI rather than "I think its junk"
>8)

Andre, you should probably remove my "patch0" from your patch
(the very first one I sent you to fix PPC compile on -ac so
you could test on your PPC). Alan already have it, I sent it
more for your own tests on PPC than for inclusion in your
patch, which is why I sent it separately from the other IDE
related patches.

Ben.


2002-08-30 08:38:58

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: ide-2.4.20-pre4-ac2.patch

>> > It's for m68k and ppc Amigas, but I don't think two separate drivers are
>> > needed.
>>
>> So its actually a false divide and dumping them in "legacy" is probably
>> a lot simpler ?
>
>Hmm, somehow I more like "m68k". :)

If it's PPC side is limited to PPC amiga's (APUS), then leave it
in m68k. PPC Amiga's are really m68k machines with a hacked PPC
in the CPU slot ;)

Though such problems may come back if we ever decide to support
the PPC CPU cards for old m68k macs, and if I finally merge the
support for NuBus pmacs, oh well...

Ben.