Re: [patch 5/7] fault-injection capability for disk IO

Jens Axboe
2006-10-13T07:03:45Z

On Thu, Oct 12 2006, Andrew Morton wrote:
> On Thu, 12 Oct 2006 16:43:10 +0900
> Akinobu Mita <akinobu.mita@gmail.com> wrote:
>
> > @@ -3134,6 +3174,9 @@ end_io:
> > if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
> > goto end_io;
> >
> > + if (should_fail_request(bio))
> > + goto end_io;
> > +
>
> hm, so we simulate IO errors by failing at make_request() time rather than
> at end_that_request_last()-time, which is where IO errors would usually be
> reported.
>
> If we're testing the filesystem/VFS/etc layers then that's pretty much
> equivalent. But perhaps there's an argument for doing both.
>
> Jens, could you have a think about it please?

For the io submitter and above layers, it's 100% identical to doing it
at end_that_request_first() time (which I suspect is what you meant). So
the above tests those layers only, which is fine if that is what you
want. When we have timeout timers at the block layer (moved from lower
layers), we could do more fancy stuff and test lower layers of the io
stack as well more easily.

--
Jens Axboe