storeio is a translator for devices and other stores.

It relies heavily on libstore.

Examples

You can make a file's content available as some block device (where foo is the name of the file to map):

settrans -ca node /hurd/storeio -T file foo

You can even ungzip files on the fly (bunzip2 is available as well):

settrans -ca node /hurd/storeio -T gunzip foo.gz

You can use the typed store, to create filter chains (of course this example is kind of useless since you could use the gunzip store directly):

settrans -ca node /hurd/storeio -T typed gunzip:file:foo.gz