This is only supported on the newer kernels. Older Linux (2.0.38) does
not support a general purpose interface, or support the callback. This
means that we will need to support multiple methods of doing this I/O to
cover all Linux versions. It appears we will be synchronous on 2.0.38
and older Linux. This is assuming I can find a way to get around the
fact that all of the functions needing to be called are not declared
"static" as they are today.
"Stephen C. Tweedie" wrote:
> On Tue, 02 Nov 1999 09:56:28 -0700, "Jeff V. Merkey"
> <firstname.lastname@example.org> said:
> > I looked at the brw_page code. While everyone calls this an "async"
> > interface, in fact, it uses the same semantic as a sync interface and
> > does not allow support for callbacks.
> I didn't say to use brw_page --- I said to look at brw_page. It sets up
> a vector of buffer_heads for the IO, and --- crucially --- initialises
> them with a callback, end_buffer_io_async.
> _That_ is where you get async callback for temporary buffer_heads
> submitted to the IO layer. You can replace that callback function with
> anything you want. No, brw_page won't do an arbitrary callback for you,
> but it's a perfect example from which to construct your own function
> which does exactly the IO you want, with exactly the buffer-cache
> coherency you want, and exactly the callback you want at the end of it.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
Please read the FAQ at http://www.tux.org/lkml/