> Just a hint: the block layer is for caching blocks from disk type deveices.
>
> - Block device access is always going directly into the block cache. So
> the I/O is always kernel I/O. In addition, it is async I/O - the block layer
> fires it up and may wait for it later after sending out other requests.
>
> - Character device access is synchronous access and may be either kernel
> or user space DMA access. In most cases, it is user space DMA access.
>
> How try to ask your question again...
Right, and you can build one on top of the other in this fashion. I don't see
the problem.
> >That is not true. Late IDE also has this, and systems like drbd - which
> >currently uses a quite clever heuristic to deduce barriers - could also
> >utilize this input.
> How is it implemented?
drbd does an analysis of the write-patterns, look at
http://www.complang.tuwien.ac.at/reisner/drbd/publications/index.html, Philipp
has written a diploma thesis on it.
Sincerely,
Lars Marowsky-Brée <lmb@suse.de>
-- Immortality is an adequate definition of high availability for me. --- Gregory F. Pfister- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/