Re: WARNING: at fs/buffer.c:1186 mark_buffer_dirty+0x51/0x66()



On Saturday 01 November 2008 05:11, Vladislav Bolkhovitin wrote:
Nick Piggin wrote:
On Wednesday 29 October 2008 06:38, Vladislav Bolkhovitin wrote:
Nick Piggin wrote:
On Saturday 25 October 2008 03:10, Vladislav Bolkhovitin wrote:
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.

Right. This is one of the warnings I see in my fault-injection testing.
It is fixed by my patch to clean up and improve the page and buffer
error handling in the vm/fs.

Can you specify which patch you referring? Is it in 2.6.27?

It's just an RFC at the moment which I posted to fsdevel. Not in 2.6.27.

I see. I'm looking forward to see it in 2.6.28 or .29. This is really a
needed work.

Hopefully. Unfortunately it doesn't exactly make the filesystems
themselves more robust against failure. That needs to be done on
a case by case basis.


BTW, have you even seen in your fault-injection testing that after
receiving a failure from a SCSI device during heavy load ext3 file
system mounted on it gets corrupted and journal replay on remount
doesn't repair it, only manual e2fsck helps? I've many times seen that,
including cases when the target was remaining up and fully functional.
See, e.g., "MOANING MODE ON" part in
http://marc.info/?l=linux-scsi&m=121932252324432&w=2. I haven't checked
that case since then, although I see such corruptions quite often. But
in all them I can't so clearly say that it isn't a target's failure.

I haven't seen that, but I'm not exactly testing for filesystem
robustness to errors, but more of core vm/fs layer robustness, so
I'm mainly trying to inject errors into data portion of inodes.

I think the ext3 development list should be interested in your
report.

Thanks,
Nick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: WARNING: at fs/buffer.c:1186 mark_buffer_dirty+0x51/0x66()
    ... During recent debugging session of my SCSI target SCST ... messages in kernel log on the initiator. ... My target was buggy and I was working on fixing it, ... BTW, have you even seen in your fault-injection testing that after receiving a failure from a SCSI device during heavy load ext3 file system mounted on it gets corrupted and journal replay on remount doesn't repair it, only manual e2fsck helps? ...
    (Linux-Kernel)
  • [PATCH][RFC 3/23]: SCST core docs
    ... This patch contains documentation for SCST core. ... +SCST is designed to provide unified, consistent interface between SCSI ... +target drivers and Linux kernel and simplify target drivers development ... so different initiators could see different set ...
    (Linux-Kernel)
  • Re: [ANNOUNCE]: Generic SCSI Target Mid-level For Linux (followup)
    ... the default and the only SCSI target framework. ... storage object of the storage stack, and having said engine handle the ... This means (at least with iSCSI and iSER): ...
    (Linux-Kernel)
  • Re: SCSI target subsystem
    ... to maintain two SCSI target frameworks. ... between SCSI initiator and target subsystems there is almost *nothing* in common. ... But look deeper and you quickly find out that the majority of functionality as well as data they use are dedicated for each subsystem, ...
    (Linux-Kernel)
  • Re: [ANNOUNCE]: Generic SCSI Target Mid-level For Linux (SCST), target drivers for iSCSI and QLo
    ... the default and the only SCSI target framework. ... storage object of the storage stack, and having said engine handle the ... PSCSI is an LIO-Core subsystem plugin, ...
    (Linux-Kernel)