libstore is used to provide a generic interface to access data (read/write)
on backing stores.
It more than just a thin layer between GNU Mach
hd0 for example) and the device node below
- bunzip2 store: bunzip2 data on the fly
- concat store: concatenate
- copy store: copy-on-write; discard changes on termination
- device store: Mach device access
- file store: use a file as a kind of block device
- gunzip store: gunzip data on the fly
- ileave store: interleave store (striping)
- nbd store: Linux-compatible network block device
- query store
- remap store
- task store: Mach task store backend
- typed store: chainable stores
- url store: typed store with URL syntax
- zero store: empty block device
At http://www.kataplop.net/pub/info/projets you can find some effort to make some crypto store.
At http://www.trek.eu.org/devel/hurd/crypt-trans-0.0.3.tgz, another package can be found.
$ settrans --create --active ramdisk0 /hurd/storeio -T copy zero:32M $ mkfs.ext2 -F -b 4096 ramdisk0 [...] $ settrans --active --orphan ramdisk0 /hurd/ext2fs.static ramdisk0 $ df -h ramdisk0/ df: Warning: cannot read table of mounted file systems Filesystem Size Used Avail Use% Mounted on - 32M 1.1M 30M 4% /media/data/home/tschwinge/ramdisk0
This uses settrans and to create a ramdisk of 32 MiB by routing
a thusly sized zero store through the copy store, connecting
that to the
ramdisk0 node, create a
ext2 filesystem on it, and replace the
translator running on the
ramdisk0 node with a instance of the
translator running on the same node ( ).
It is a open issue hurd why this does only work with
ext2fs.static, but not the dynamically linked
/hurd/ext2fs: Translator died).
A (better) alternative would be using the
translator, but that one is broken at the moment.