Re: [PATCH 1/5] jbd: strictly check for write errors on data buffers

Hidehiro Kawai
2008-06-05T11:33:46Z

Jan Kara wrote:

> On Wed 04-06-08 18:51:55, Theodore Tso wrote:
>
>>On Wed, Jun 04, 2008 at 02:58:48PM -0700, Andrew Morton wrote:
>>
>>>On Wed, 4 Jun 2008 17:22:02 -0400
>>>Theodore Tso <tytso@mit.edu> wrote:
>>>
>>>>On Wed, Jun 04, 2008 at 11:19:11AM -0700, Andrew Morton wrote:

>>>But afaict this patch changes things so that if we get a write failure
>>>in a data block we make the entire fs read-only. Which, as I said, is
>>>often "dead box".
>>>
>>>This seems like a quite major policy change to me.

My patch doesn't change the policy. JBD aborts the journal when
it detects I/O error in file data since 2.6.11. Perhaps this patch:
http://marc.info/?l=linux-kernel&m=110483888632225
I just added missing error checkings.

>>Agreed, and it's not appropriate. I could imagine that for some
>>setups it is the right policy, but the kernel should not be setting
>>policy like this. Maybe as a new tunable in the superblock, or maybe
>>via a round-trip to userspace via a uevent, but certainly not as the
>>new default behavior.
>
> Yes, I believe a tunable in superblock controlling how do we behave on
> EIO error in data block would be the best solution.

I agree. I understood that there is a case where we don't want to
make the fs read-only when writing file data failed. OTOH there are
people who want to make the fs read-only to avoid the damage from
expanding. Introducing the tunable would be better.
I'm going to send a patch to make this behavior tunable if some of you
agree on this way.

Thanks,
--
Hidehiro Kawai
Hitachi, Systems Development Laboratory
Linux Technology Center