Hi,During recent debugging session of my SCSI target SCST (http://scst.sf.net) I noticed many
WARNING: at fs/buffer.c:1186 mark_buffer_dirty+0x51/0x66()messages in kernel log on the initiator. I attached the full log of several of them.
My target was buggy and I was working on fixing it, but I suppose Linux should handle such failures more gracefully. In all the cases the target had one type of failure: it "ate" a SCSI command and never returned result of it.
Low level drivers were open-iscsi and qla2xxx. Vlad
Attachment:
k.tar.bz2
Description: application/bzip
Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 816 Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_get_inode_loc: unable to read inode block - inode=2, block=316 Oct 16 21:58:54 inif kernel: ------------[ cut here ]------------ Oct 16 21:58:54 inif kernel: WARNING: at fs/buffer.c:1186 mark_buffer_dirty+0x51/0x66() Oct 16 21:58:54 inif kernel: Modules linked in: crc32c crypto_hash libcrc32c iscsi_tcp libiscsi scsi_transport_iscsi firmware_class scsi_transport_fc tcp_highspeed w83627hf hwmon_vid eeprom adm1021 hwmon binfmt_misc dm_mirror dm_log dm_mod pci_slot battery ac ehci_hcd uhci_hcd sg e1000 pcspkr i2c_i801 i2c_core ide_cd_mod cdrom e7xxx_edac button usbcore [last unloaded: qla2xxx] Oct 16 21:58:54 inif kernel: Pid: 19064, comm: pam_console_app Not tainted 2.6.27-ini #3 Oct 16 21:58:54 inif kernel: [<b0116065>] warn_on_slowpath+0x4d/0x66 Oct 16 21:58:54 inif kernel: [<b01270bd>] enqueue_hrtimer+0x72/0xea Oct 16 21:58:54 inif kernel: [<b0112adb>] hrtick_start_fair+0x8e/0xd9 Oct 16 21:58:54 inif kernel: [<b0112dc3>] pick_next_task_fair+0x8c/0xa2 Oct 16 21:58:54 inif kernel: [<b03098fa>] schedule+0x173/0x3e9 Oct 16 21:58:54 inif kernel: [<b017a205>] mark_buffer_dirty+0x51/0x66 Oct 16 21:58:54 inif kernel: [<b01a5abc>] ext3_commit_super+0x3a/0x4e Oct 16 21:58:54 inif kernel: [<b01a6603>] ext3_handle_error+0x62/0xaa Oct 16 21:58:54 inif kernel: [<b0116d25>] printk+0x1b/0x1f Oct 16 21:58:54 inif kernel: [<b01a66fd>] ext3_error+0x55/0x5a Oct 16 21:58:54 inif kernel: [<b019e90f>] __ext3_get_inode_loc+0x253/0x2b9 Oct 16 21:58:54 inif kernel: [<b019e99f>] ext3_reserve_inode_write+0x19/0x5f Oct 16 21:58:54 inif kernel: [<b0167e7c>] filldir64+0x0/0xc5 Oct 16 21:58:54 inif kernel: [<b019e9ff>] ext3_mark_inode_dirty+0x1a/0x30 Oct 16 21:58:54 inif kernel: [<b01ae8ec>] journal_start+0x80/0xa9 Oct 16 21:58:54 inif kernel: [<b01a16d6>] ext3_dirty_inode+0x65/0x6e Oct 16 21:58:54 inif kernel: [<b0176b31>] __mark_inode_dirty+0x24/0x133 Oct 16 21:58:54 inif kernel: [<b0167e7c>] filldir64+0x0/0xc5 Oct 16 21:58:54 inif kernel: [<b016eb53>] touch_atime+0xa1/0xee Oct 16 21:58:54 inif kernel: [<b0167e7c>] filldir64+0x0/0xc5 Oct 16 21:58:54 inif kernel: [<b0168077>] vfs_readdir+0x7c/0x7e Oct 16 21:58:54 inif kernel: [<b01680dc>] sys_getdents64+0x63/0xa5 Oct 16 21:58:54 inif kernel: [<b0102cb9>] sysenter_do_call+0x12/0x21 Oct 16 21:58:54 inif kernel: ======================= Oct 16 21:58:54 inif kernel: ---[ end trace ddb1531dc775930c ]--- Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf) in ext3_reserve_inode_write: IO failure Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:58:54 inif kernel: lost page write due to I/O error on sdf Oct 16 21:58:54 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:58:54 inif last message repeated 157 times Oct 16 21:59:05 inif kernel: journal_bmap: journal block not found at offset 859 on sdf Oct 16 21:59:05 inif kernel: Aborting journal on device sdf. Oct 16 21:59:05 inif kernel: __ratelimit: 158 callbacks suppressed Oct 16 21:59:05 inif kernel: Buffer I/O error on device sdf, logical block 822 Oct 16 21:59:05 inif kernel: lost page write due to I/O error on sdf Oct 16 21:59:05 inif kernel: journal commit I/O error Oct 16 21:59:05 inif kernel: sd 12:0:0:0: [sdb] Synchronizing SCSI cache Oct 16 21:59:05 inif kernel: sd 12:0:0:2: [sdd] Synchronizing SCSI cache Oct 16 21:59:05 inif kernel: sd 12:0:0:3: [sde] Synchronizing SCSI cache Oct 16 21:59:12 inif kernel: EXT3-fs error (device sdf): ext3_readdir: directory #2 contains a hole at offset 0 Oct 16 21:59:12 inif kernel: Buffer I/O error on device sdf, logical block 0 Oct 16 21:59:12 inif kernel: lost page write due to I/O error on sdf Oct 16 21:59:12 inif kernel: ext3_abort called. Oct 16 21:59:12 inif kernel: EXT3-fs error (device sdf): ext3_journal_start_sb: Detected aborted journal Oct 16 21:59:12 inif kernel: Remounting filesystem read-only Oct 16 21:59:44 inif kernel: Buffer I/O error on device sdf, logical block 822 Oct 16 21:59:44 inif kernel: lost page write due to I/O error on sdf