From 2d13c2daa9cb2a8554ad0fa8da7da96d1d080599 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 3 Oct 2007 15:02:00 +0200 Subject: Text about libstore, by Stefan Siegl, retrieved from . --- hurd.mdwn | 1 + hurd/libstore.mdwn | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 hurd/libstore.mdwn diff --git a/hurd.mdwn b/hurd.mdwn index fca9cf28..4a969e1a 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -58,6 +58,7 @@ * Libraries * [[libpager]] + * [[libstore]] * [[Debugging]] * [[HurdSpecificGlibcApi]]: Functions in GLIBC for the Hurd. * [Hurd Sourcecode Reference](http://www.htu.tugraz.at/~past/hurd/global/): Searchable and browsable index of the code. diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn new file mode 100644 index 00000000..05d11d50 --- /dev/null +++ b/hurd/libstore.mdwn @@ -0,0 +1,50 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU_Free_Documentation_License|/fdl.txt]]."]] + +libstore is more than just a thin layer between gnumach devices (hd0 for +example) and the device node below /dev ... + +=== want to see some 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 kinda useless since you could use the ''gunzip'' store directly): +{{{ + settrans -ca node /hurd/storeio -T type gunzip:file:foo.gz +}}} + +=== available stores +|| device || raw device access (used for access to hd0, etc.) || +|| file || use a common file as some kind of block device || +|| zero || kinda empty block device || +|| task || mach task store backend (TODO: what's this) || +|| ileave || interleave store (striping) || +|| concat || concatenate stuff || +|| remap || remap stuff || +|| query || TODO: what's this || +|| copy || TODO: what's this good for || +|| gunzip || gunzip data on the fly || +|| bunzip2 || bunzip2 data on the fly || +|| nbd || network block device (linux compatible) || +|| url || typed store with url syntax || +|| typed || typed store (chainable stores thingy) || + + +=== even weirder stuff ... +at http://www.kataplop.net/pub/info/projets you can find some effort to make +some crypto store, I will try to make that running within shortly ... -- cgit v1.2.3