Re: [patch] direct-io: bug fix in dio handling write error

From: Andrew Morton
Date: Tue Mar 21 2006 - 18:08:05 EST


Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
>
> If some one asks to do IO for 128K and if we get -EIO after say, 64K
> - we fail the whole IO with -EIO ?

A multiple-block direct-IO can complete those blocks (actually the BIOs) in
any order. How do we communicate to userspace that segments 0, 1, 3 and 5
completed OK, but segments 2 and 4 had errors?

The best we could do is to tell userspace that 0 and 1 completed and ignore
everything after the first I/O error.

But I don't think it's worth the effort. Simply returning EIO for the
whole thing is probably good enough. The only situation I can think of
where someone would care down to that level of detail is a specialised
recover-data-from-a-bad-disk application (for which direct-io would be a
good tool). Such an application should have the brains to go
sector-at-a-time if larger I/O's throw errors.

-
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/