File: 11.html

package info (click to toggle)
lg-issue36 2-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,920 kB
  • ctags: 242
  • sloc: makefile: 36; sh: 4
file content (322 lines) | stat: -rw-r--r-- 11,437 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.1G.e">
<TITLE>The Answer Guy 36: 
Translucent, Overlay, Loop, and Union Filesystems
</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
	LINK="#3366FF" VLINK="#A000A0">
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H4>"The Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
	<img src="../../gx/dennis/qbubble.gif" alt="(?)" border="0" align="middle">
	<font color="#B03060">The Answer Guy</font>
	<img src="../../gx/dennis/bbubble.gif" alt="(!)" border="0" align="middle">
</A></H1> 
<BR>
<H4>By James T. Dennis,
	<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
	Starshine Technical Services,
	<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> 
</H4>
</center>

<p><hr><p>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- begin 11 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif" height="50" width="60"
	  alt="(?) " border="0">
Translucent, Overlay, Loop, and Union Filesystems
</H3>


<p><strong>From c17h21no4 on Wed, 02 Dec 1998  
</strong></p>
<!-- ::
Translucent, Overlay, Loop, and Union Filesystems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>

</BLOCKQUOTE>
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
Where can i find information/documentation about the loopback
filesystem and the translucent file sytstem under linux.  From
what i see on the mail lists there is support but the links are
old or outdated (Ben's link) and i seem to not be finding any info
on it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" alt="(!)"
	HEIGHT="28" WIDTH="50" BORDER="0"
	>
According to an old version of the CD-ROM Howto:
</BLOCKQUOTE>
<BLOCKQUOTE>
Once upon a time there was an IFS (inheriting filesystem).
This was written by Werner Almesberger for Linux version
0.99p11 was similar in principle to the "translucent fs"
from Sun.  This was a "copy-on-write" system, sometimes
referred to as an "overlay" or "union" fs.
</BLOCKQUOTE>
<BLOCKQUOTE>
All of these are different terms for the same concept,
you mount two (or possibly more) filesystems on the same
point.  Accessing  files under these mount points is
presents files from one of the underlying filesystems.
</BLOCKQUOTE>
<BLOCKQUOTE>
The most common case would be to lay a CD-ROM fs over a
normal (ext2, minix, xiafs) filesystem.  Any files on
the "normal" (read-write) fs take precedence over any
file with a colliding name on the CD-ROM.  Any write
attempt of a file results in a copy (or possibly a
"diff" on a log-structured fs).  Later access to such
files will refer to the copy rather than the original.
</BLOCKQUOTE>
<BLOCKQUOTE>
An early version of the Yggdrasil Plug-n-Play Linux (*)
distribution supported this (IFS) as an installation
method, if I recall correctly.
</BLOCKQUOTE>

<BLOCKQUOTE><ul>
<li>(the first CD-ROM distribution ever released
as far as I know)
</ul></BLOCKQUOTE>

<BLOCKQUOTE>
As far as I know Werner's IFS hasn't been updated in years
and there isn't any support for any of these union/translucent
etc fs variants in the standard kernel.  I did find on
pretty obscure set of patches that <EM>appear</EM> to provide
"overlay" filesystem support for 2.0.31 kernels at:
</BLOCKQUOTE>

<BLOCKQUOTE><dl>
<dt>LOFS Patches for Linux:
<dd><tt><A HREF="http://www.kvack.org/~blah/lofs"
		>http://www.kvack.org/~blah/lofs</A></tt>
</dl></BLOCKQUOTE>

<BLOCKQUOTE>
... this has no README files or other documentation
so my guess about their intent is purely from reading the
patches.    I think "Blah" in this URL refers to Mr.
Benjamin LaHaise who apparently wrote the following to
the Linux-Kernel mailing list in May of 1997:
</BLOCKQUOTE>

<blockquote><blockquote><font color="#000066"><em>
	   &gt; Now is a very good time to tell me if
	<br>&gt; someone else has already got a working lofs 
		<img src="../../gx/dennis/smily.gif" alt=":-)">
</em></font></blockquote></blockquote>

<blockquote><blockquote><font color="#000099"><em>
		I wrote one quite some time ago, and finally made
		patches against 2.0.30 last week.  They're at
		ftp://dot.superaje.com/pub/linux/lofs-2.0.30.diff
		It's not perfect, but it works. (I do have a fancier
		2.1.x version, but it'll be a while before i get
		anymore work done on it.)
</em></font></blockquote></blockquote>

<BLOCKQUOTE>
This was in response to a Mr. Jon Peatfield's query.
(The ftp link therein does not work). He mentioned some
additional work on his 'lofs' as late as August of '97
--- quoted in a response by Linus regarding some
VFS semantics.
</BLOCKQUOTE>
<BLOCKQUOTE>
I presume this is the "Ben" to which you are referring.
I've blind copied his last known @ddresses. (Sorry if you
get three copies of this).
</BLOCKQUOTE>
<BLOCKQUOTE>
There's a similar concept called a "cachefs" and there's a
couple somewhat different concepts called "loop" filesystems.
</BLOCKQUOTE>
<BLOCKQUOTE>
A Linux "loop" or "loopback" filesystem allows one to
mount a regular file as a filesystem.  This only works
if the file is an <EM>image</EM> of a supported filesystem.  Thus,
if you have a boot diskette image you can mount it on
<TT>/dev/loop0</TT>, '<tt>cd</tt>' into the mount point and view the
contents.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've leard of another interpretation of the phrase "loop
back filesystem" that involves remounting the same
filesystem with different option at different mount
points. Thus you might mount one at <TT>/usr</TT> with "read-only"
options and somewhere else with read-write and no-exec"
However, I don't know which versions of Unix use this and it
doesn't seem to match the Linux implemtation <EM>at all</EM>.
</BLOCKQUOTE>
<BLOCKQUOTE>
It is possible to enable encryption on your loop devices
using the '<tt>losetup</tt>' command (see the man page in section
8).   However, this is more of a proof of concept than a
real utility.  See my column last month for pointers to some
real cryptography packages, or look at the "privacy protected
disk driver" (ppdd) which is one I forgot to mention
last month.
</BLOCKQUOTE>
<BLOCKQUOTE>
'<tt>cachefs</tt>' and '<tt>tmpfs</tt>' are filesystems that 
are supported by Solaris.
</BLOCKQUOTE>
<BLOCKQUOTE>
The CODA  project at <A HREF="http://coda.cs.cmu.edu"
	>http://coda.cs.cmu.edu</A> also has some
interesting replication and caching features.
</BLOCKQUOTE>
<BLOCKQUOTE>
Obviously when we start talking about specialized
filesystems we see myriad terminology collisions and
ambiguities.
</BLOCKQUOTE>
<BLOCKQUOTE>
For now I'd say that Linux LOFS/Translucent filesystems are
not "ready for prime time."  However, if you're interested
in working on the code --- go for it!
</BLOCKQUOTE>

<!-- sig -->

<!-- end 11 -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
        >Copyright &copy;</a> 1999, James T. Dennis
<BR>Published in <I>The Linux Gazette</I> Issue 36 January 1999</H5>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<P align="center">
<table width="98%"><tr valign="center" align="center">
<td rowspan="3" colspan="6"><A HREF="../lg_answer36.html"><IMG
        SRC="../../gx/dennis/answernew.gif"
        ALT="[ Answer Guy Index ]"></A></td>
  <TD><A HREF="./a.html">a</A></TD>
  <TD><A HREF="./b.html">b</A></TD>
  <TD><A HREF="./c.html">c</A></TD>
  <TD><A HREF="./1.html">1</A></TD>
  <TD><A HREF="./2.html">2</A></TD>

  <TD><A HREF="./3.html">3</A></TD>
  <TD><A HREF="./4.html">4</A></TD>
  <TD><A HREF="./5.html">5</A></TD>
  <TD><A HREF="./6.html">6</A></TD>
  <TD><A HREF="./7.html">7</A></TD>

  <TD><A HREF="./9.html">9</A></TD>
  <TD><A HREF="./10.html">10</A></TD>
  <TD><A HREF="./11.html">11</A></TD>
  <TD><A HREF="./12.html">12</A></TD>

</tr><tr valign="center" align="center">
  <TD><A HREF="./15.html">15</A></TD>
  <TD><A HREF="./16.html">16</A></TD>
  <TD><A HREF="./18.html">18</A></TD>
  <TD><A HREF="./19.html">19</A></TD>

  <TD><A HREF="./20.html">20</A></TD>
  <TD><A HREF="./21.html">21</A></TD>
  <TD><A HREF="./22.html">22</A></TD>
  <TD><A HREF="./23.html">23</A></TD>
  <TD><A HREF="./24.html">24</A></TD>

  <TD><A HREF="./25.html">25</A></TD>
  <TD><A HREF="./26.html">26</A></TD>
  <TD><A HREF="./27.html">27</A></TD>
  <TD><A HREF="./28.html">28</A></TD>

</tr><tr valign="center" align="center">
  <TD><A HREF="./29.html">29</A></TD>
  <TD><A HREF="./31.html">31</A></TD>
  <TD><A HREF="./32.html">32</A></TD>
  <TD><A HREF="./33.html">33</A></TD>
  <TD><A HREF="./34.html">34</A></TD>

  <TD><A HREF="./35.html">35</A></TD>
  <TD><A HREF="./36.html">36</A></TD>
  <TD><A HREF="./37.html">37</A></TD>
  <TD><A HREF="./38.html">38</A></TD>
  <TD><A HREF="./39.html">39</A></TD>

  <TD><A HREF="./40.html">40</A></TD>
  <TD><A HREF="./41.html">41</A></TD>
  <TD><A HREF="./42.html">42</A></TD>
  <TD><A HREF="./44.html">44</A></TD>

</tr><tr valign="center" align="center">
  <TD><A HREF="./45.html">45</A></TD>
  <TD><A HREF="./46.html">46</A></TD>
  <TD><A HREF="./47.html">47</A></TD>
  <TD><A HREF="./48.html">48</A></TD>
  <TD><A HREF="./49.html">49</A></TD>
  <TD><A HREF="./50.html">50</A></TD>

  <TD><A HREF="./51.html">51</A></TD>
  <TD><A HREF="./52.html">52</A></TD>
  <TD><A HREF="./53.html">53</A></TD>
  <TD><A HREF="./54.html">54</A></TD>
  <TD><A HREF="./55.html">55</A></TD>

  <TD><A HREF="./56.html">56</A></TD>
  <TD><A HREF="./57.html">57</A></TD>
  <TD><A HREF="./60.html">60</A></TD>
  <TD><A HREF="./61.html">61</A></TD>
  <TD><A HREF="./62.html">62</A></TD>

  <TD><A HREF="./63.html">63</A></TD>
  <TD><A HREF="./64.html">64</A></TD>
  <TD><A HREF="./65.html">65</A></TD>
  <TD><A HREF="./66.html">66</A></TD>

</tr><tr valign="center" align="center">
  <TD><A HREF="./67.html">67</A></TD>
  <TD><A HREF="./69.html">69</A></TD>
  <TD><A HREF="./72.html">72</A></TD>
  <TD><A HREF="./76.html">76</A></TD>
  <TD><A HREF="./77.html">77</A></TD>
  <TD><A HREF="./78.html">78</A></TD>

  <TD><A HREF="./79.html">79</A></TD>
  <TD><A HREF="./80.html">80</A></TD>
  <TD><A HREF="./81.html">81</A></TD>
  <TD><A HREF="./82.html">82</A></TD>
  <TD><A HREF="./84.html">84</A></TD>

  <TD><A HREF="./85.html">85</A></TD>
  <TD><A HREF="./86.html">86</A></TD>
  <TD><A HREF="./87.html">87</A></TD>
  <TD><A HREF="./91.html">91</A></TD>
  <TD><A HREF="./94.html">94</A></TD>

  <TD><A HREF="./95.html">95</A></TD>
  <TD><A HREF="./96.html">96</A></TD>
  <TD><A HREF="./97.html">97</A></TD>
  <TD><A HREF="./98.html">98</A></TD>
</tr></table>
	</P>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<A HREF="../lg_toc36.html"
        ><IMG SRC="../../gx/indexnew.gif" ALT="[ Table Of Contents ]"></A>
<A HREF="../../index.html"
        ><IMG SRC="../../gx/homenew.gif" ALT="[ Front Page ]"></A>
<A HREF="../lg_bytes36.html"
        ><IMG SRC="../../gx/back2.gif" ALT="[ Previous Section ]"></A>
<A HREF="../larriera.html"
        ><IMG SRC="../../gx/fwd.gif" ALT="[ Next Section ]"></A>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
</BODY></HTML>
<!--endcut ========================================================= -->