[ale] "Back-End" Filesystems

Jeff Hubbs Jhubbs at niit.com
Mon Jul 23 17:44:24 EDT 2001


I have a question that's so off-the-wall that I'm having trouble figuring
out how to ask it!

I can wrap my head around the idea of writng a piece of code (say, in Perl)
that takes a file as standard input and munges it in some way, producing a
result to standard output.  Qrpff, the seven-lines-of-Perl DVD descrambler,
does just that.

My question - best as I'm able to phrase it - is this:   is there a way to
substitute writing a file to a point in a filesystem for directing a file to
stdin as described above?

Using the qrpff example (I'm not interested in using qrpff in reality but
it's close in concept to what I'm after), I would say

	cat file.vob | perl -l
<colon_delimited_bytewise_decimal_of_DVD_title_key> qrpff | <etc...>

to feed a file (in this case, DVD content) to qrpff.  Instead, imagine that
I want to say

	cp file.vob /mnt/qrpff_input

Note that I'm alluding to something a bit more involved than just creating
some kind of character or block device such that I would have said:

	dd if=file.vob of=/dev/qrpff_input

Rather, I'm trying to create some kind of virtual file system which, I
presume, would be mounted in much the same way as one uses the loopback
device to mount an .iso file as a read-only file system which can be
accessed as though it were part of the system's own tree.  Similarly, this
file system would have to handle reads, queries (think "ls"), and all the
other filesystem things we're used to, like user and group ownership,
attributes, and directories (maybe links as well).

Can someone speak to what this would be like?  Would it be a little like
trying to implement reiserfs or iso9660 - i.e., writing a module?  Would I
be right to presume that the Perl, Python, or whatever would have to be
explicitly programmed to respond to (what I presume are) library calls to
file systems in the proper way?  Please bear in mind that I'm a little
hamstrung by not knowing exactly what happens when I type "ls -l" (I know, I
probably ought to just RTFS).

- Jeff


___________________NOTICE____________________________ 

This electronic mail transmission contains confidential information intended
only for the person(s) named.  Any use, distribution, copying or disclosure
by any other person is strictly prohibited. If you received this
transmission in error, please notify the sender by reply e-mail and then
destroy the message.  Opinions, conclusions, and other information in this
message that do not relate to the official business of NIIT shall be
understood to be neither given nor endorsed by NIIT. When addressed to NIIT
clients, any information contained in this e-mail is subject to the terms
and conditions in the governing client contract.
--
To unsubscribe: mail majordomo at ale.org with "unsubscribe ale" in message body.





More information about the Ale mailing list