summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2007-10-03 15:02:00 +0200
committerThomas Schwinge <tschwinge@gnu.org>2007-10-03 15:28:45 +0200
commit2d13c2daa9cb2a8554ad0fa8da7da96d1d080599 (patch)
treebc718963e621cd1295c4a41586a4dcd4f86f5266
parentc7990886446817b0f1f25777a881680afc272ba5 (diff)
Text about libstore, by Stefan Siegl, retrieved from <http://brokenpipe.de/GnuHurd/LibStoreIo>.
-rw-r--r--hurd.mdwn1
-rw-r--r--hurd/libstore.mdwn50
2 files changed, 51 insertions, 0 deletions
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 ...