Distribution: Debian Unstable Hardware Environment: ppc32 - Aluminum Powerbook Problem description: While trying to mount a firewire disk with ext3 on top of dm-crypt the machine hung for periods and the filesystem was finally mounted read only ieee1394: Error parsing configrom for node 0-00:1023 ieee1394: Node changed: 0-00:1023 -> 0-01:1023 ieee1394: Node added: ID:BUS[0-00:1023] GUID[0001d200e0131db8] scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices ieee1394: sbp2: Logged into SBP-2 device ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048] Vendor: IC25N040 Model: ATMR04-0 Rev: Type: Unknown ANSI SCSI revision: 06 ieee1394: Node changed: 0-01:1023 -> 0-00:1023 ieee1394: Node suspended: ID:BUS[0-00:1023] GUID[0001d200e0131db8] ieee1394: Error parsing configrom for node 0-00:1023 ieee1394: Node changed: 0-00:1023 -> 0-01:1023 ieee1394: Node resumed: ID:BUS[0-00:1023] GUID[0001d200e0131db8] scsi1 : SCSI emulation for IEEE-1394 SBP-2 Devices ieee1394: sbp2: Logged into SBP-2 device ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048] Vendor: IC25N040 Model: ATMR04-0 Rev: Type: Unknown ANSI SCSI revision: 06 SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB) SCSI device sda: drive cache: write back SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB) SCSI device sda: drive cache: write back sda: sda1 Attached scsi disk sda at scsi1, channel 0, id 0, lun 0 kjournald starting. Commit interval 5 seconds EXT3 FS on dm-0, internal journal EXT3-fs: mounted filesystem with ordered data mode. ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1b 38 00 00 10 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1b 48 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1b 50 00 00 10 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1b 60 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1c 58 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1d 50 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1e 48 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 1e 50 00 00 f8 00 ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 5e 08 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 5e 10 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 5e 18 00 00 10 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 5e 28 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 5f 20 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 60 18 00 00 c8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 60 e0 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 61 d8 00 00 f8 00 ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: sbp2util_node_write_no_wait failed ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 88 b0 00 00 28 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 88 d8 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 88 e0 00 00 08 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 88 e8 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 89 e0 00 00 f8 00 ieee1394: sbp2: aborting sbp2 command scsi1 : destination target 0, lun 0 command: cdb[0]=0x2a: 2a 00 00 00 8a d8 00 00 f0 00 EXT3-fs warning (device dm-0): empty_dir: bad directory (dir #2551556) - no `.' or `..' EXT3-fs warning (device dm-0): empty_dir: bad directory (dir #2551558) - no `.' or `..' EXT3-fs warning (device dm-0): empty_dir: bad directory (dir #2551559) - no `.' or `..' EXT3-fs unexpected failure: !buffer_revoked(bh); inconsistent data on disk ext3_forget: aborting transaction: IO failure in __ext3_journal_revoke ext3_abort called. EXT3-fs error (device dm-0): ext3_forget: error -5 when attempting revoke Remounting filesystem read-only Aborting journal on device dm-0. EXT3-fs error (device dm-0) in ext3_free_blocks_sb: Journal has aborted EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted EXT3-fs error (device dm-0) in ext3_truncate: IO failure EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted EXT3-fs error (device dm-0) in ext3_orphan_del: Journal has aborted EXT3-fs error (device dm-0) in ext3_reserve_inode_write: Journal has aborted EXT3-fs error (device dm-0) in ext3_delete_inode: IO failure __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 __journal_remove_journal_head: freeing b_committed_data
Is this still happening in 2.6.13-rc4? Thanks.
Does one of the hints given at http://www.linux1394.org/faq.php#sbp2abort help?
Thanks for the suggestions. It looks like current -git is working fine. If I can recreate I'll reopen
<looks at the webpage>. Why on earth does the use of the CFQ I/O scheduler help?
How exactly the CFQ scheduler helps is unknown. It helped only in _some_ cases of "aborting sbp2 command syndrom" anyway. Keep in mind that there are three fundamentally different classes of causes for the syndrom, like the FAQ says. I have two hypotheses how the CFQ scheduler might make a difference: a) It might enqueue commands in a way that is easier to process for some firmwares of SBP-2 bridges. b) It may mask a weakness or bug in sbp2 that is somehow related to I/O latency. I have even seen once that reducing the 1394 bus arbitration gaps stopped a series of "aborting sbp2 command"s. Back to Anton's case: It seems very unlikely to me that the two suggestions of the FAQ which modify the behaviour of the Linux initiator (serialized I/O, CFQ scheduler) help in a situation where "aborting sbp2 command" appears together with "sbp2util_node_write_no_wait failed". But there are other suggestions in the FAQ that might apply.