Understanding the rationale behind dropping of "block devices"

Eugene Grosbein eugen at grosbein.net
Mon Jan 16 11:04:48 UTC 2017


16.01.2017 16:20, Julian Elischer wrote:

> If you want  device M, at offset N we will fetch it for you from the device, DMA'd directly into your address space,
> but there is no cached copy.
> Having said that, it would be trivial to add a 'caching' geom layer to the system but that has never been needed.

In fact, FreeBSD does have geom_cache/gcache(8) for long time. It is block-level read cache
passing write requests through transparently.

It is unmaintained, though and there were some reports that it is suspected to cause kernel panics
if there are more than one active GEOM_CACHE instances in a system.

> The added complexity of carrying around two alternate interfaces to the same devices was judged by those who did the work to be not worth the small gain available to the very few people who used raw devices.
> Interestingly, since that time ZFS has implemented a block-layer cache for itself which is of course not integrated with the non-existing block level cache in the system :-).



More information about the freebsd-scsi mailing list