From: Jaroslav Sykora <jara@sin.cvut.cz>
To: Jan Engelhardt <jengelh@computergmbh.de>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [RFC PATCH 0/5] Shadow directories
Date: Thu, 18 Oct 2007 19:07:58 +0200 [thread overview]
Message-ID: <200710181907.58643.jara@sin.cvut.cz> (raw)
In-Reply-To: <Pine.LNX.4.64.0710181802300.2936@fbirervta.pbzchgretzou.qr>
On Thursday 18 of October 2007, Jan Engelhardt wrote:
>
> On Oct 18 2007 17:21, Jaroslav Sykora wrote:
> >Hello,
> >
> >Let's say we have an archive file "hello.zip" with a hello world program source
> >code. We want to do this:
> > cat hello.zip^/hello.c
> > gcc hello.zip^/hello.c -o hello
> > etc..
> >
> >The '^' is an escape character and it tells the computer to treat the file as a directory.
>
> Too bad, since ^ is a valid character in a *file*name. Everything is, with
> the exception of '\0' and '/'. At the end of the day, there are no control
> characters you could use.
>
> But what you could do is: write a FUSE fs that mirrors the lower content
> (lofs/fuseloop/however it was named) and expands .zip files as
> directories are readdir'ed or the zip files stat'ed. That saves us
> from cluttering up the Linux VFS with such stuff.
>
Yes, that's exactly what RheaVFS and AVFS do. Except that they both use an escape
character because:
1. without it some programs may break [ http://lwn.net/Articles/100148/ ]
2. it's very useful to pass additional parameters after the escape char to the server.
We can start VFS servers (mentioned above) and chroot the whole user session into
the mount directory of the server. It works but it's very slow, practically unusable.
So both servers need some kind of VFS redirector. In the past there were many
different approaches -- LD_PRELOAD hack, CodaFS hack, NFS hack (?), proof-of-concept
kernel hacks (project podfuk) etc.
If anybody can think of any other solution of the "redirector problem", possibly
even non-kernel based one, let me know and I'd be glad :-)
--
I find television very educating. Every time somebody turns on the set,
I go into the other room and read a book.
next prev parent reply other threads:[~2007-10-18 17:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-18 15:21 [RFC PATCH 0/5] Shadow directories Jaroslav Sykora
2007-10-18 15:22 ` [RFC PATCH 1/5] Shadow directories: headers Jaroslav Sykora
2007-10-18 15:23 ` [RFC PATCH 2/5] Shadow directories: core Jaroslav Sykora
2007-10-18 15:25 ` [RFC PATCH 3/5] Shadow directories: chdir, fchdir Jaroslav Sykora
2007-10-18 15:26 ` [RFC PATCH 4/5] Shadow directories: procfs Jaroslav Sykora
2007-10-18 15:28 ` [RFC PATCH 5/5] Shadow directories: documentation Jaroslav Sykora
2007-10-18 16:05 ` [RFC PATCH 0/5] Shadow directories Jan Engelhardt
2007-10-18 17:07 ` Jaroslav Sykora [this message]
2007-10-18 17:10 ` Jan Engelhardt
2007-10-18 20:10 ` Jaroslav Sykora
2007-10-18 20:12 ` Jan Engelhardt
[not found] ` <4717BBBB.6040205@davidnewall.com>
2007-10-18 20:09 ` Jan Engelhardt
2007-10-18 20:37 ` David Newall
2007-10-18 20:47 ` Al Viro
2007-10-19 2:57 ` David Newall
2007-10-19 5:37 ` Al Viro
2007-10-18 16:30 ` David Newall
2007-10-18 16:33 ` David Newall
2007-10-18 16:53 ` David Newall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200710181907.58643.jara@sin.cvut.cz \
--to=jara@sin.cvut.cz \
--cc=jaroslav.sykora@gmail.com \
--cc=jengelh@computergmbh.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).