Messages in this thread | | | Date | Tue, 02 Nov 1999 12:30:01 -0700 | From | "Jeff V. Merkey" <> | Subject | Re: Linux Buffer Cache Does Not Support Mirroring |
| |
Stephen,
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.
Jeff
"Stephen C. Tweedie" wrote: > > Hi, > > On Tue, 02 Nov 1999 09:56:28 -0700, "Jeff V. Merkey" > <jmerkey@timpanogas.com> 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. > > --Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |