Keith Packard
http://linux.conf.au/schedule/present...
Traditional Linux storage is built using several block layers and
adding a file system on top. You can construct a block device out of a
file system using the loop driver, but that interface loses some key
functionality present in the block layer, most importantly the DAX
interfaces.
As an alternative, we can squash some of the the loop driver
functionality into a file system and present both file system
interfaces as well as block device interfaces from the same driver.
This provides a uniform storage management interface where a single
'wholesale' file system aggregates a set of the available storage into
a single logical store which can then be arbitrarily dis-aggregated
into individual storage volumes which can then be used as traditional
block devices for 'retail' file systems within the host OS or
passed to virtual machines for storage in that environment.
This technique is being used within The Machine, a project within
Hewlett Packard Enterprise, to provide convenient management of a pool
of fabric attached memory shared among many Linux instances.
The presentation will show how the wholesale file system is managed
and how the block layer is exported from it. Additional details about
how storage locality is controlled using extended attributes will be
included.