Really Simple File System versus raw disk I/O

From: Paul Barton-Davis (pbd@Op.Net)
Date: Fri Mar 31 2000 - 15:27:48 EST


Daniel Phillips suggested to me privately a month or two back that
there might some general utility in a "raw" filesystem that created a
single file in a partition, allowed no index, inodes, directories,
extension, truncation etc. This would be useful for applications that
need to control disk seeking (such as high end audio applications).

It seems to me that this is rather similar to the idea behind Stephen
Tweedie's raw i/o stuff. The primary difference would seem to be (and
I'm guessing here) that with raw i/o, you just do:

         % fdisk /dev/foo
           
           . <create partition /dev/fooc>
           .
           .
         % <app using /dev/fooc>
           
                open ("/dev/fooc", ...)

versus:

         % fdisk /dev/foo
         % mkrawfs /dev/fooc
         % mount /dev/fooc /somewhere
         % ls /somewhere
         the_file
         % <app using /dev/fooc>

               open ("/somewhere/the_file", ...)

If so, then raw i/o would seem a lot easier to use.

However, an additional aspect of my model of the "rawfs" is that you
could do this:

      % mkrawfs -o files=4 /dev/fooc

to create the partition with 4 equally sized, adjacent files. There
would be a standard name for each file, perhaps just "1", "2", etc.

These files would, of course, be non-deletable, non-truncatable,
non-extensible, etc. They exist only so that you can guarantee
contiguous (pre-)allocation of disk sectors for each file, and thus
get predictable seek performance. However, it would allow all regular
applications to access each file quite normally.

This is something that it seems that raw i/o can't do, because it
would force the layout of the "filesystem" (i.e. allocation of the
disk sectors to specific byte streams) up into the application, and
would prevent other apps (e.g. cat(1)) that did not know the layout of
the data from reading the individual "files".

It would seem that by starting with the minix fs and ripping out most
of it, one would end up with a very, very simple fs of some general
utility. whether or not it should be called "rawfs" or "rsfs" (Really
Simple File System) is not clear ...

Can I get some feedback on this idea ?

--p

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:30 EST