Re: file as a directory
From: Amit Gud
Date: Fri Dec 03 2004 - 05:01:01 EST
On Tue, 30 Nov 2004 19:39:15 +0100 (MET), Jan Engelhardt
<jengelh@xxxxxxxxxxxxxxx> wrote:
> >My suggestion is to add a framework, an infrastructure, in the VFS
> >wherein a simple plugin can be written to poke into the file as if it
> >were a directory. So with that framework in place, I can write a
> >plugin for archive support (treating the .tar files as directories),
> >Peter could write a plugin for poking into /etc/passwd (treating it as
> >a directory), and Jon Doe could write a plugin for sendmail.cf
>
> That's something I could live with, but how do you want to tag a file being
> "tar" so that tar_ops is used instead of the "default file" ops?
>
> You could not do so without an extra function, and once you use that extra
> function to tag a certain file being "tar"
Yes an extra function, or few lines in vfs_readdir().
> -- you know that extensions are
> kinda "worthless", and, especially, unrealiable -- you could also have used tar
> -tvf.
I don't see how "worthless" is viewing certain files as directories.
It is worth to do 'vi /root/abc.tar.gz/README' to edit a file than to
inflate it yourself, make changes and deflate it again..deleting the
stuff inflated. And its on code's part to make it as reliable as
possible.
> Did I mention tar is not the perfect format? It's because it is lacking an
> index and letting the kernel wade through a GB-sized tar file just to perform
> and readdir (yet imagine reading the last file of it) would be a hell of
> skipping. Keeping a non-persistent index in memory may solve the problem, but
> hey, I also do not want to spend too much memory just for a single tar file.
There lies a problem with tar formats. So the tar plugin writer should
take this into account. But I see no problem with, for example,
/etc/passwd as a directory. tar is just one possible (and probably
debatable) plugin that can be introduced with the help of this
framework.
AG
--
May the source be with you.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/