linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [git patches] libata fixes
@ 2006-11-14 15:04 Jeff Garzik
  2006-11-14 16:32 ` Mark Lord
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Jeff Garzik @ 2006-11-14 15:04 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds; +Cc: linux-ide, LKML


Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git upstream-linus

to receive the following updates:

 drivers/ata/libata-scsi.c |    2 +-
 drivers/ata/pata_artop.c  |    2 +-
 drivers/ata/pata_hpt37x.c |   19 ++++++++++++++++---
 3 files changed, 18 insertions(+), 5 deletions(-)

Alan Cox:
      hpt37x: Check the enablebits

Alexey Dobriyan:
      pata_artop: fix "& (1 >>" typo

Darrick J. Wong:
      libata: fix double-completion on error

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 7af2a4b..5c1fc46 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1612,9 +1612,9 @@ early_finish:
 
 err_did:
 	ata_qc_free(qc);
-err_mem:
 	cmd->result = (DID_ERROR << 16);
 	done(cmd);
+err_mem:
 	DPRINTK("EXIT - internal\n");
 	return 0;
 
diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
index 690828e..96a0980 100644
--- a/drivers/ata/pata_artop.c
+++ b/drivers/ata/pata_artop.c
@@ -92,7 +92,7 @@ static int artop6260_pre_reset(struct at
 		return -ENOENT;
 
 	pci_read_config_byte(pdev, 0x49, &tmp);
-	if (tmp & (1 >> ap->port_no))
+	if (tmp & (1 << ap->port_no))
 		ap->cbl = ATA_CBL_PATA40;
 	else
 		ap->cbl = ATA_CBL_PATA80;
diff --git a/drivers/ata/pata_hpt37x.c b/drivers/ata/pata_hpt37x.c
index 7350443..fce3fcd 100644
--- a/drivers/ata/pata_hpt37x.c
+++ b/drivers/ata/pata_hpt37x.c
@@ -25,7 +25,7 @@ #include <scsi/scsi_host.h>
 #include <linux/libata.h>
 
 #define DRV_NAME	"pata_hpt37x"
-#define DRV_VERSION	"0.5"
+#define DRV_VERSION	"0.5.1"
 
 struct hpt_clock {
 	u8	xfer_speed;
@@ -453,7 +453,13 @@ static int hpt37x_pre_reset(struct ata_p
 {
 	u8 scr2, ata66;
 	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
-
+	static const struct pci_bits hpt37x_enable_bits[] = {
+		{ 0x50, 1, 0x04, 0x04 },
+		{ 0x54, 1, 0x04, 0x04 }
+	};
+	if (!pci_test_config_bits(pdev, &hpt37x_enable_bits[ap->port_no]))
+		return -ENOENT;
+		
 	pci_read_config_byte(pdev, 0x5B, &scr2);
 	pci_write_config_byte(pdev, 0x5B, scr2 & ~0x01);
 	/* Cable register now active */
@@ -488,10 +494,17 @@ static void hpt37x_error_handler(struct 
 
 static int hpt374_pre_reset(struct ata_port *ap)
 {
+	static const struct pci_bits hpt37x_enable_bits[] = {
+		{ 0x50, 1, 0x04, 0x04 },
+		{ 0x54, 1, 0x04, 0x04 }
+	};
 	u16 mcr3, mcr6;
 	u8 ata66;
-
 	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
+
+	if (!pci_test_config_bits(pdev, &hpt37x_enable_bits[ap->port_no]))
+		return -ENOENT;
+		
 	/* Do the extra channel work */
 	pci_read_config_word(pdev, 0x52, &mcr3);
 	pci_read_config_word(pdev, 0x56, &mcr6);

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [git patches] libata fixes
  2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
@ 2006-11-14 16:32 ` Mark Lord
  2006-11-14 16:41   ` Jeff Garzik
  2006-11-28 16:56 ` Scary Intel SATA errors Linus Torvalds
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
  2 siblings, 1 reply; 19+ messages in thread
From: Mark Lord @ 2006-11-14 16:32 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, Linus Torvalds, linux-ide, LKML

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 7af2a4b..5c1fc46 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1612,9 +1612,9 @@ early_finish:
 
 err_did:
 	ata_qc_free(qc);
-err_mem:
 	cmd->result = (DID_ERROR << 16);
 	done(cmd);
+err_mem:
 	DPRINTK("EXIT - internal\n");
 	return 0;

This doesn't look correct to me, but I did miss out on the original discussion(?).

Any time we return 0 from queuecommand, the SCSI mid-layer expects us
to also take care of invoking the done() function.  Where does this now
happen for this case (err_mem) ???

Cheers

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [git patches] libata fixes
  2006-11-14 16:32 ` Mark Lord
@ 2006-11-14 16:41   ` Jeff Garzik
  2006-11-14 18:11     ` Mark Lord
  0 siblings, 1 reply; 19+ messages in thread
From: Jeff Garzik @ 2006-11-14 16:41 UTC (permalink / raw)
  To: Mark Lord; +Cc: Andrew Morton, Linus Torvalds, linux-ide, LKML

Mark Lord wrote:
> Any time we return 0 from queuecommand, the SCSI mid-layer expects us
> to also take care of invoking the done() function.  Where does this now
> happen for this case (err_mem) ???

It _already_ happened in the error path of ata_scsi_qc_new(), which is 
why this is a double-completion bug fix.

	Jeff



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [git patches] libata fixes
  2006-11-14 16:41   ` Jeff Garzik
@ 2006-11-14 18:11     ` Mark Lord
  0 siblings, 0 replies; 19+ messages in thread
From: Mark Lord @ 2006-11-14 18:11 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, Linus Torvalds, linux-ide, LKML

Jeff Garzik wrote:
> Mark Lord wrote:
>> Any time we return 0 from queuecommand, the SCSI mid-layer expects us
>> to also take care of invoking the done() function.  Where does this now
>> happen for this case (err_mem) ???
> 
> It _already_ happened in the error path of ata_scsi_qc_new(), which is 
> why this is a double-completion bug fix.

Ack. 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Scary Intel SATA errors..
  2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
  2006-11-14 16:32 ` Mark Lord
@ 2006-11-28 16:56 ` Linus Torvalds
  2006-11-29 18:25   ` Mark Lord
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
  2 siblings, 1 reply; 19+ messages in thread
From: Linus Torvalds @ 2006-11-28 16:56 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, linux-ide


Jeff, what does this mean:

	ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
	ata1.00: (BMDMA stat 0x21)
	ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1: failed to recover some devices, retrying in 5 secs
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1: failed to recover some devices, retrying in 5 secs
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1.00: disabled
	ata1: EH complete

followed by various IO errors:

	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 335093
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217445
	Buffer I/O error on device dm-0, logical block 112001027
	lost page write due to I/O error on dm-0
	..

nasty, nasty, nasty.

This is with ata_piix on a Intel i965 motherboard (everything Intel)

		Linus

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Scary Intel SATA problem: "frozen"
  2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
  2006-11-14 16:32 ` Mark Lord
  2006-11-28 16:56 ` Scary Intel SATA errors Linus Torvalds
@ 2006-11-28 17:31 ` Linus Torvalds
  2006-11-28 17:37   ` Mark Lord
                     ` (3 more replies)
  2 siblings, 4 replies; 19+ messages in thread
From: Linus Torvalds @ 2006-11-28 17:31 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, linux-ide


[ You may or may not have gotten my previous email. The kernel stayed 
  working, but due to the IO errors the filesystem got re-mounted 
  read-only, and I'm not sure that the email I sent out in that state 
  actually ever made it out. I suspect it didn't. ]

Jeff,
 I just had a scary thing on my nice new Intel i965 box (all Intel 
chipsets apart from some strange Marvell IDE interface that I'm not using 
and that no driver even detected, and a TI firewire thing that I'm 
similarly not using).

The machine basically froze for about a minute or so (well, things worked 
surprisingly well, considering that apparently no disk IO happened - I 
initially thought it was just firefox that had frozen up, since my mail 
session seemed to be fine), and after it came back the filesystem was 
mounted read-only and nothing really worked any more..

I have no idea what status 0xD0 means: it looks like ATA_BUSY + ATA_DRDY + 
"bit#4", but what is bit#4?

And clearly, the soft-reset isn't doing squat.

Ideas?

		Linus

----
Boot-time messages:

	libata version 2.00 loaded.
	..
	Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
	ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
	Probing IDE interface ide0...
	Probing IDE interface ide1...
	ide-floppy driver 0.99.newide
	ata_piix 0000:00:1f.2: version 2.00ac6
	ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
	ACPI: PCI Interrupt 0000:00:1f.2[A] -> GSI 19 (level, low) -> IRQ 19
	PCI: Setting latency timer of device 0000:00:1f.2 to 64
	ata1: SATA max UDMA/133 cmd 0x2148 ctl 0x217E bmdma 0x2110 irq 19
	ata2: SATA max UDMA/133 cmd 0x2140 ctl 0x217A bmdma 0x2118 irq 19
	scsi0 : ata_piix
	ata1.00: ATA-7, max UDMA/133, 976773168 sectors: LBA48 NCQ (depth 0/32)
	ata1.00: ata1: dev 0 multi count 16
	ata1.00: configured for UDMA/133
	scsi1 : ata_piix
	ata2.00: ATAPI, max UDMA/66
	ata2.00: configured for UDMA/66
	scsi 0:0:0:0: Direct-Access     ATA      WDC WD5000YS-01M 07.0 PQ: 0 ANSI: 5
	SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
	sda: Write Protect is off
	sda: Mode Sense: 00 3a 00 00
	SCSI device sda: drive cache: write back
	SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
	sda: Write Protect is off
	sda: Mode Sense: 00 3a 00 00
	SCSI device sda: drive cache: write back
	 sda: sda1 sda2
	sd 0:0:0:0: Attached scsi disk sda
	sd 0:0:0:0: Attached scsi generic sg0 type 0
	scsi 1:0:0:0: CD-ROM            PLEXTOR  DVDR   PX-755A   1.04 PQ: 0 ANSI: 5
	sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
	Uniform CD-ROM driver Revision: 3.20
	sr 1:0:0:0: Attached scsi CD-ROM sr0
	sr 1:0:0:0: Attached scsi generic sg1 type 5
	ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
	ACPI: PCI Interrupt 0000:00:1f.5[A] -> GSI 19 (level, low) -> IRQ 19
	PCI: Setting latency timer of device 0000:00:1f.5 to 64
	ata3: SATA max UDMA/133 cmd 0x2138 ctl 0x2176 bmdma 0x20F0 irq 19
	ata4: SATA max UDMA/133 cmd 0x2130 ctl 0x2172 bmdma 0x20F8 irq 19
	scsi2 : ata_piix
	ATA: abnormal status 0x7F on port 0x213F
	scsi3 : ata_piix
	ATA: abnormal status 0x7F on port 0x2137

Problem starts:

	ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
	ata1.00: (BMDMA stat 0x21)
	ata1.00: tag 0 cmd 0xca Emask 0x4 stat 0x40 err 0x0 (timeout)
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1: failed to recover some devices, retrying in 5 secs
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1: failed to recover some devices, retrying in 5 secs
	ata1: port is slow to respond, please be patient (Status 0xd0)
	ata1: port failed to respond (30 secs, Status 0xd0)
	ata1: soft resetting port
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ATA: abnormal status 0xD0 on port 0x214F
	ata1.00: qc timeout (cmd 0xec)
	ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
	ata1.00: revalidation failed (errno=-5)
	ata1.00: disabled
	ata1: EH complete

And then it goes all downhill from there - the machine is toast:

	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 335093
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217445
	Buffer I/O error on device dm-0, logical block 112001027
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221400325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221400325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221400325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625475, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217485
	Buffer I/O error on device dm-0, logical block 112001032
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217501
	Buffer I/O error on device dm-0, logical block 112001034
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 209229
	Buffer I/O error on device dm-0, logical block 0
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 335117
	Buffer I/O error on device dm-0, logical block 15736
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255077
	Buffer I/O error on device dm-0, logical block 54630731
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255085
	Buffer I/O error on device dm-0, logical block 54630732
	lost page write due to I/O error on dm-0
	Buffer I/O error on device dm-0, logical block 54630733
	lost page write due to I/O error on dm-0
	Buffer I/O error on device dm-0, logical block 54630734
	lost page write due to I/O error on dm-0
	Buffer I/O error on device dm-0, logical block 54630735
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255157
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255221
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255381
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437269949
	Aborting journal on device dm-0.
	EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted
	ext3_abort called.
	EXT3-fs error (device dm-0): ext3_journal_start_sb: Detected aborted journal
	Remounting filesystem read-only
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437270109
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437270229
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437270245
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437496517
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438170837
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438170941
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438235885
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438235981
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438236021
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438236045
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438236077
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438236141
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438242893
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438246285
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438249165
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438250517
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438286605
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438286861
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438286885
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438286917
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438286933
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438289381
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438290421
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438290653
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438290685
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438290717
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438290765
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438291717
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438291773
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438291797
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438296973
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438709949
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 640245117
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 209229
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 247935325
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965782, block=30965762
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050605, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822081, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358245
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018686, block=53018627
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625477, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 247935325
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965784, block=30965762
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050607, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822083, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358245
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018688, block=53018627
	EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 435077853
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438236021
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438249165
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438296973
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	__journal_remove_journal_head: freeing b_committed_data
	__journal_remove_journal_head: freeing b_committed_data
	__journal_remove_journal_head: freeing b_committed_data
	__journal_remove_journal_head: freeing b_committed_data
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	journal commit I/O error
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625479, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050608, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822085, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358253
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018690, block=53018628
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 232730981
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=29065261, block=29065219
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 193409381
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=24150055, block=24150019
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625481, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 247935325
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965785, block=30965762
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050610, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822087, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358253
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018692, block=53018628
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221082957
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221082957
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221082957
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625482, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 247935325
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965786, block=30965762
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050611, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822088, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358253
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018693, block=53018628
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 232730981
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=29065262, block=29065219
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 193409381
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=24150056, block=24150019
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625484, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 247935325
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=30965787, block=30965762
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050613, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822090, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358253
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018695, block=53018628
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 421212525
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52625485, block=52625412
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 208613733
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=26050614, block=26050563
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 422785389
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=52822091, block=52822020
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 424358253
	EXT3-fs error (device dm-0): ext3_get_inode_loc: unable to read inode block - inode=53018696, block=53018628
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 222476325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 222476325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 222476325
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220006069
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220006069
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220006069
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218847341
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218847341
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223939293
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223939293
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223939293
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223968533
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 209229
	printk: 141 messages suppressed.
	Buffer I/O error on device dm-0, logical block 0
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 209341
	Buffer I/O error on device dm-0, logical block 14
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 209429
	Buffer I/O error on device dm-0, logical block 25
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218838829
	Buffer I/O error on device dm-0, logical block 27328700
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218838957
	Buffer I/O error on device dm-0, logical block 27328716
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839021
	Buffer I/O error on device dm-0, logical block 27328724
	lost page write due to I/O error on dm-0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839133
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839173
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839229
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839261
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839317
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839341
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218839365
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218840301
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218840349
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218840453
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218840501
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218841173
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218842141
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218842877
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218842901
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218843021
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218843045
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218844933
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218844949
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218844965
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218844997
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218845045
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 218845141
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219624301
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219624381
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219625901
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219625957
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219626005
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219626421
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 219626485
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220149909
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220673461
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220673485
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220673525
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220673733
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221196965
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221722813
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221722845
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 222245285
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 222247365
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223818765
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 223818965
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 434844005
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 434844397
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 436680901
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437203277
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437203437
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437203477
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437236053
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437255213
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437270237
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437727581
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 437989709
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438170933
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438235669
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438251925
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 438939997
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 454766925
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 553070941
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 553070973
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 553071005
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 640102773
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 640102965
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 640102997
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 830681421
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 830927181
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217437
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217597
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217645
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 896217885
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220252173
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220252253
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220252277
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220252173
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 220252173
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 830927181
	EXT3-fs error (device dm-0): ext3_find_entry: reading directory #103809025 offset 0
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816517
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816589
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816629
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816653
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816677
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816629
	sd 0:0:0:0: SCSI error: return code = 0x00040000
	end_request: I/O error, dev sda, sector 221816629

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
@ 2006-11-28 17:37   ` Mark Lord
  2006-11-28 17:55     ` Sergei Shtylyov
  2006-11-29  1:12     ` Tejun Heo
  2006-11-28 18:05   ` Alan
                     ` (2 subsequent siblings)
  3 siblings, 2 replies; 19+ messages in thread
From: Mark Lord @ 2006-11-28 17:37 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jeff Garzik, Andrew Morton, linux-ide, Tejun Heo

Linus Torvalds wrote:
> [ You may or may not have gotten my previous email. The kernel stayed 
>   working, but due to the IO errors the filesystem got re-mounted 
>   read-only, and I'm not sure that the email I sent out in that state 
>   actually ever made it out. I suspect it didn't. ]
> 
> Jeff,
>  I just had a scary thing on my nice new Intel i965 box (all Intel 
> chipsets apart from some strange Marvell IDE interface that I'm not using 
> and that no driver even detected, and a TI firewire thing that I'm 
> similarly not using).
> 
> The machine basically froze for about a minute or so (well, things worked 
> surprisingly well, considering that apparently no disk IO happened - I 
> initially thought it was just firefox that had frozen up, since my mail 
> session seemed to be fine), and after it came back the filesystem was 
> mounted read-only and nothing really worked any more..
> 
> I have no idea what status 0xD0 means: it looks like ATA_BUSY + ATA_DRDY + 
> "bit#4", but what is bit#4?

Bit #4, when actually implemented, is a rotational seek indicator,
which can be used for timing purposes.

But when BUSY (bit #7) is set, the rest are generally nonsense.
 
> And clearly, the soft-reset isn't doing squat.

Tejun ?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:37   ` Mark Lord
@ 2006-11-28 17:55     ` Sergei Shtylyov
  2006-11-28 20:12       ` Eric D. Mudama
  2006-11-29  1:12     ` Tejun Heo
  1 sibling, 1 reply; 19+ messages in thread
From: Sergei Shtylyov @ 2006-11-28 17:55 UTC (permalink / raw)
  To: Mark Lord; +Cc: Jeff Garzik, linux-ide, Tejun Heo

Hello.

Mark Lord wrote:

> Bit #4, when actually implemented, is a rotational seek indicator,
> which can be used for timing purposes.

    Hm, I thought it was DSC (drive seek complete) set by the SEEK command 
completion, and it's always implemented. Didn't you mean IDX (bit 1, IIRC)?

> But when BUSY (bit #7) is set, the rest are generally nonsense.

    Indeed...

WBR, Sergei

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
  2006-11-28 17:37   ` Mark Lord
@ 2006-11-28 18:05   ` Alan
  2006-11-28 18:33     ` Linus Torvalds
  2006-11-28 21:03   ` Jeff Garzik
  2006-11-28 22:18   ` Jeff Garzik
  3 siblings, 1 reply; 19+ messages in thread
From: Alan @ 2006-11-28 18:05 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jeff Garzik, Andrew Morton, linux-ide

On Tue, 28 Nov 2006 09:31:51 -0800 (PST)
Linus Torvalds <torvalds@osdl.org> wrote:

>  I just had a scary thing on my nice new Intel i965 box (all Intel 
> chipsets apart from some strange Marvell IDE interface that I'm not using 
> and that no driver even detected, and a TI firewire thing that I'm 

Mr Morton has the Marvell libata driver in his tree waiting to head your
way.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 18:05   ` Alan
@ 2006-11-28 18:33     ` Linus Torvalds
  0 siblings, 0 replies; 19+ messages in thread
From: Linus Torvalds @ 2006-11-28 18:33 UTC (permalink / raw)
  To: Alan; +Cc: Jeff Garzik, Andrew Morton, linux-ide



On Tue, 28 Nov 2006, Alan wrote:
>
> On Tue, 28 Nov 2006 09:31:51 -0800 (PST)
> Linus Torvalds <torvalds@osdl.org> wrote:
> 
> >  I just had a scary thing on my nice new Intel i965 box (all Intel 
> > chipsets apart from some strange Marvell IDE interface that I'm not using 
> > and that no driver even detected, and a TI firewire thing that I'm 
> 
> Mr Morton has the Marvell libata driver in his tree waiting to head your
> way.

Well, I don't actually personally want it (I have nothing connected to it, 
nor any intention of connecting anything in the future), I just want my 
bog-standard PIIX driver to not do the scary things to me.

	"Mommy, mommy, the IDE messages/behaviour is scaring me!"

I just mentioned the Marvell chip because apart from those two (unused) 
chips, the box is absolutely and utterly bog-standard Intel-everything. 
The i965 may still be somewhat unusual right now, but that's going to 
change, and if there's something strange going on, we should try to fix it 
asap.

It could be a one-off thing (knock wood), but on the other hand, I've only 
been using this machine for a couple of weeks now, and I can't remember 
seeing anything even remotely similar on my other machines (including the 
earlier-generation i945 SATA setup that I've had a lot longer). So I worry 
that it's something i965-specific, and that will be a _very_ common 
chipset soon enough.

One data-point that may or may not be relevant: the afore-mentioned i945 
machine that I've had longer is otherwise reasonably similar, but the DVD 
drive on that one is in legacy mode. Not that I see why it should matter 
(the problem happened on the harddisk, not the DVD)...

		Linus

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:55     ` Sergei Shtylyov
@ 2006-11-28 20:12       ` Eric D. Mudama
  2006-11-28 20:36         ` Sergei Shtylyov
  0 siblings, 1 reply; 19+ messages in thread
From: Eric D. Mudama @ 2006-11-28 20:12 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: Mark Lord, Jeff Garzik, linux-ide, Tejun Heo

On 11/28/06, Sergei Shtylyov <sshtylyov@ru.mvista.com> wrote:
> Hello.
>
> Mark Lord wrote:
>
> > Bit #4, when actually implemented, is a rotational seek indicator,
> > which can be used for timing purposes.
>
>     Hm, I thought it was DSC (drive seek complete) set by the SEEK command
> completion, and it's always implemented. Didn't you mean IDX (bit 1, IIRC)?

0x50 is the standard, non queueing "device is ready" status.  It used
to have those special meanings, but they're pretty obsolete today as I
understand it.

0x40 is used for queueing, because bit 4 was the service bit for PATA TCQ.

> > But when BUSY (bit #7) is set, the rest are generally nonsense.
>
>     Indeed...
>
> WBR, Sergei

Typically, 0x80 as the busy state indicates the device is in POR
reset.  Once the firmware is up and running in the device, it often
switches from 0x80 to 0xD0 during POR.

0xD0 is the busy state you'd get to if you were 0x50 and received a
command, so this is reported typically after the device is up and
running.

0x7F usually is hardware indicating nothing is attached to the port,
and isn't supposed to infer a non-busy state.

You're right, while not meaningful according to spec, you can derive
some information from the reported status even when you're only
supposed to look at one bit.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 20:12       ` Eric D. Mudama
@ 2006-11-28 20:36         ` Sergei Shtylyov
  0 siblings, 0 replies; 19+ messages in thread
From: Sergei Shtylyov @ 2006-11-28 20:36 UTC (permalink / raw)
  To: Eric D. Mudama; +Cc: Mark Lord, Jeff Garzik, linux-ide, Tejun Heo

Hello.

Eric D. Mudama wrote:
>> > Bit #4, when actually implemented, is a rotational seek indicator,
>> > which can be used for timing purposes.

>>     Hm, I thought it was DSC (drive seek complete) set by the SEEK 
>> command
>> completion, and it's always implemented. Didn't you mean IDX (bit 1, 
>> IIRC)?

> 0x50 is the standard, non queueing "device is ready" status.  It used
> to have those special meanings, but they're pretty obsolete today as I
> understand it.

    Erm, some status bits maybe obsolete but I've never heard that the status 
*values* were specified to mean anything special anywhere...

> 0x40 is used for queueing, because bit 4 was the service bit for PATA TCQ.

   I know. This meaning (SERVICE) actualy came from ATAPI

>> > But when BUSY (bit #7) is set, the rest are generally nonsense.

>>     Indeed...

>> WBR, Sergei

> Typically, 0x80 as the busy state indicates the device is in POR
> reset.  Once the firmware is up and running in the device, it often
> switches from 0x80 to 0xD0 during POR.

    Oh, I guess it's completely up to the disk makers what other status to 
show with BSY=1.

> 0xD0 is the busy state you'd get to if you were 0x50 and received a
> command, so this is reported typically after the device is up and
> running.

> 0x7F usually is hardware indicating nothing is attached to the port,
> and isn't supposed to infer a non-busy state.

    Ha, *never* seen that one. It's has always been 0xFF since PC people 
didn't ever bother themselves with silly pulldowns. :-)

> You're right, while not meaningful according to spec, you can derive
> some information from the reported status even when you're only
> supposed to look at one bit.

   Well, to some extent...

WBR, Sergei

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
  2006-11-28 17:37   ` Mark Lord
  2006-11-28 18:05   ` Alan
@ 2006-11-28 21:03   ` Jeff Garzik
  2006-11-28 21:45     ` Linus Torvalds
  2006-11-28 22:18   ` Jeff Garzik
  3 siblings, 1 reply; 19+ messages in thread
From: Jeff Garzik @ 2006-11-28 21:03 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, linux-ide

Linus Torvalds wrote:
> [ You may or may not have gotten my previous email. The kernel stayed 
>   working, but due to the IO errors the filesystem got re-mounted 
>   read-only, and I'm not sure that the email I sent out in that state 
>   actually ever made it out. I suspect it didn't. ]
> 
> Jeff,
>  I just had a scary thing on my nice new Intel i965 box (all Intel 
> chipsets apart from some strange Marvell IDE interface that I'm not using 
> and that no driver even detected, and a TI firewire thing that I'm 
> similarly not using).

Does jgarzik/libata-dev.git#upstream (don't pull, just test) work for you?

Or -mm, which includes #upstream?

I'm pretty sure this is already fixed, by the polling IDENTIFY for 
ata_piix patchset.

	Jeff



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 21:03   ` Jeff Garzik
@ 2006-11-28 21:45     ` Linus Torvalds
  0 siblings, 0 replies; 19+ messages in thread
From: Linus Torvalds @ 2006-11-28 21:45 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, linux-ide



On Tue, 28 Nov 2006, Jeff Garzik wrote:
> 
> Does jgarzik/libata-dev.git#upstream (don't pull, just test) work for you?

Well, since I can't really test, I don't know. This problem has happened 
just once in the couple of weeks I've used that machine, and I wasn't even 
doing anything strange when it triggered (no heavy IO, no special 
programs, no nothing - I was literally just reading email and I think 
trying to browse over to news.com or something..)

So I was more hoping that you'd say that it's a known issue, and already 
fixed, or that the status bits would give you some clue and make you say 
"Ahh, we don't handle that case". I have nothing to "test". The thing 
seems to work, and I have no known way to trigger the problem...

> I'm pretty sure this is already fixed, by the polling IDENTIFY for ata_piix
> patchset.

Hmm. That sounds like it should just affect the bootup identification, 
which has always worked fine for me. Would it fix the softreset too?

Anyway, I can certainly try yout current "upstream" branch, but as 
mentioned, the standard kernel works fine for me generally, so I don't 
really know what I can offer (except if "upstream" simply doesn't work at 
all, in which case I'll certainly let you know ;)

		Linus

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
                     ` (2 preceding siblings ...)
  2006-11-28 21:03   ` Jeff Garzik
@ 2006-11-28 22:18   ` Jeff Garzik
  3 siblings, 0 replies; 19+ messages in thread
From: Jeff Garzik @ 2006-11-28 22:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, linux-ide

And FWIW, "frozen" in this context means that Tejun's libata error 
handling code has take ownership of the ATA port, after stopping all 
outstanding I/O transactions.

So when you see that, that's libata EH kicking in.

	Jeff




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA problem: "frozen"
  2006-11-28 17:37   ` Mark Lord
  2006-11-28 17:55     ` Sergei Shtylyov
@ 2006-11-29  1:12     ` Tejun Heo
  1 sibling, 0 replies; 19+ messages in thread
From: Tejun Heo @ 2006-11-29  1:12 UTC (permalink / raw)
  To: Mark Lord; +Cc: Linus Torvalds, Jeff Garzik, Andrew Morton, linux-ide

Mark Lord wrote:
> Linus Torvalds wrote:
>> [ You may or may not have gotten my previous email. The kernel stayed 
>>   working, but due to the IO errors the filesystem got re-mounted   
>> read-only, and I'm not sure that the email I sent out in that state   
>> actually ever made it out. I suspect it didn't. ]
>>
>> Jeff,
>>  I just had a scary thing on my nice new Intel i965 box (all Intel 
>> chipsets apart from some strange Marvell IDE interface that I'm not 
>> using and that no driver even detected, and a TI firewire thing that 
>> I'm similarly not using).
>>
>> The machine basically froze for about a minute or so (well, things 
>> worked surprisingly well, considering that apparently no disk IO 
>> happened - I initially thought it was just firefox that had frozen up, 
>> since my mail session seemed to be fine), and after it came back the 
>> filesystem was mounted read-only and nothing really worked any more..
>>
>> I have no idea what status 0xD0 means: it looks like ATA_BUSY + 
>> ATA_DRDY + "bit#4", but what is bit#4?
> 
> Bit #4, when actually implemented, is a rotational seek indicator,
> which can be used for timing purposes.
> 
> But when BUSY (bit #7) is set, the rest are generally nonsense.
> 
>> And clearly, the soft-reset isn't doing squat.

I dunno.  My first suspect is transient transmission error and yeah they 
do occur from time to time even on otherwise stable setup.  For example, 
my machine is nvidia ck804 which has pretty weak error handling (at 
least used to) and stays up 24/7 and I've seen such unrecovered 
transmission error just once during last 6+ months.

My experience is that if something is weird (say, power fluctuation or 
electro-magnetic interference), SATA is the first thing to give out and 
that's why we need good EH w/ SATA much more than we do with PATA.

Drives (controllers too) sometimes fall into weird state after such 
errors and softreset is often not enough, so we need hardreset.  ICH8 
can do hardreset even in ata_piix mode.  I'll work on it.

Linus, I'll follow up with Jonas as his problem seems reproducible but 
I'm a bit skeptical about it being a driver issue.  Even w/ all its 
kinks, ata_piix is just a sff IDE controller and libata has been doing 
it for a long time.  I would be really surprised if the driver or 
controller has any such issue in the usual r/w path.  AHCI should be 
able to recover from most error conditions unless drive firmware is 
completely stuck requiring physical power off.

-- 
tejun

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA errors..
  2006-11-28 16:56 ` Scary Intel SATA errors Linus Torvalds
@ 2006-11-29 18:25   ` Mark Lord
  2006-11-29 18:42     ` Alan
  2006-12-01 19:42     ` Alan
  0 siblings, 2 replies; 19+ messages in thread
From: Mark Lord @ 2006-11-29 18:25 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Linus Torvalds, Jeff Garzik, Andrew Morton, linux-ide

Mmmm.. Tejun, here's a clue for what Linus saw on his system:

Right now I'm implementing support for READ/WRITE LONG commands via libata.

And the ata_piix driver gets into a non-recoverable state after successfully
doing a READ LONG command for me, a very similar state to what Linus reported.

But the ahci driver does NOT have this problem.  I haven't tried others.

The thing about R/W LONG, is that they transfer a single PIO sector of data,
PLUS an extra 4 (or more) words at the end.

Funny thing about ATAPI DVD/RW drives, is that they also transfer odd amounts
of data, non-multiples of 512.

I'm betting that the ata_piix hardware has some kind of internal pipeline that
gets confused *sometimes* when a non-512 multiple passes through.  Rarely, though.

I wonder if there's something on that device that we could bit-bang to reset 
it's internal pipelines?

Cheers

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA errors..
  2006-11-29 18:25   ` Mark Lord
@ 2006-11-29 18:42     ` Alan
  2006-12-01 19:42     ` Alan
  1 sibling, 0 replies; 19+ messages in thread
From: Alan @ 2006-11-29 18:42 UTC (permalink / raw)
  To: Mark Lord
  Cc: Tejun Heo, Linus Torvalds, Jeff Garzik, Andrew Morton, linux-ide

On Wed, 29 Nov 2006 13:25:18 -0500
Mark Lord <liml@rtr.ca> wrote:

> I'm betting that the ata_piix hardware has some kind of internal pipeline that
> gets confused *sometimes* when a non-512 multiple passes through.  Rarely, though.

It will do this if the FIFO setup is misconfigured.
 
> I wonder if there's something on that device that we could bit-bang to reset 
> it's internal pipelines?

That would cripple performance and just ask for more bizarre bugs.
Firstly I think it makes sense to verify/play with the fifo and prefetch
setup then verify the problem case and see what Intel think.

Alan

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Scary Intel SATA errors..
  2006-11-29 18:25   ` Mark Lord
  2006-11-29 18:42     ` Alan
@ 2006-12-01 19:42     ` Alan
  1 sibling, 0 replies; 19+ messages in thread
From: Alan @ 2006-12-01 19:42 UTC (permalink / raw)
  To: Mark Lord
  Cc: Tejun Heo, Linus Torvalds, Jeff Garzik, Andrew Morton, linux-ide

On Wed, 29 Nov 2006 13:25:18 -0500
Mark Lord <liml@rtr.ca> wrote:

> Mmmm.. Tejun, here's a clue for what Linus saw on his system:
> 
> Right now I'm implementing support for READ/WRITE LONG commands via libata.
> 
> And the ata_piix driver gets into a non-recoverable state after successfully
> doing a READ LONG command for me, a very similar state to what Linus reported.

Looks like it may in fact be a chip erratum. Turn off PPE unconditionally
and try and repeat it (if you look at ata_piix right now its turned off
for ATAPI only).

Alan

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2006-12-01 19:35 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-14 15:04 [git patches] libata fixes Jeff Garzik
2006-11-14 16:32 ` Mark Lord
2006-11-14 16:41   ` Jeff Garzik
2006-11-14 18:11     ` Mark Lord
2006-11-28 16:56 ` Scary Intel SATA errors Linus Torvalds
2006-11-29 18:25   ` Mark Lord
2006-11-29 18:42     ` Alan
2006-12-01 19:42     ` Alan
2006-11-28 17:31 ` Scary Intel SATA problem: "frozen" Linus Torvalds
2006-11-28 17:37   ` Mark Lord
2006-11-28 17:55     ` Sergei Shtylyov
2006-11-28 20:12       ` Eric D. Mudama
2006-11-28 20:36         ` Sergei Shtylyov
2006-11-29  1:12     ` Tejun Heo
2006-11-28 18:05   ` Alan
2006-11-28 18:33     ` Linus Torvalds
2006-11-28 21:03   ` Jeff Garzik
2006-11-28 21:45     ` Linus Torvalds
2006-11-28 22:18   ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).