[linux-audio-dev] [ANNOUNCE] stream file system

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] [ANNOUNCE] stream file system
From: Aki M Laukkanen (amlaukka_AT_cc.helsinki.fi)
Date: Sat Sep 02 2000 - 15:12:35 EEST


"Streamfs is a special purpose file system for Linux geared towards
audio/video editing and other streaming media needs. It is special purpose
in the sense that only limited number of regular files (or tracks) are
supported. However these are guaranteed to be non-fragmented. Streamfs also
tries to take advantage of the locality of reference by interleaving the
tracks together on disk. In addition streamfs still supports a limited
amount of meta information on the partition such as directories and symlinks."

This filesystem was mostly done to get familiar with VFS and filesystems in
general. The goal was to make a very simple filesystem but yet it should
be useful. The former I think succeeded well, the whole code is just over
2000 lines when counted with wc.

Also, development time was reasonable. I spent maybe 20 hours for writing
the code and have this far spent about 20 hours worth for debugging and
testing. I do realize that there's a huge difference between this and
a full-blown optimized general purpose filesystem but contrary to lots
of impressions lately, it is not impossible.

Most distracting I found the semantics of the get_block call-back. I'm
not so sure it's even correct right now. I'd appreciate if people
could comment? Not just that but a general quick look around if I
fscked up something badly.

Is it useful? beats me. I did some very initial hdrbench tests which
seems to the most relevant benchmark. I think I need to run some automated
tests to determine the best relation of tracks, track fragment sizes,
elevator latencies and such.

There is a plot of the hdrbench output on the home page with a 30 input
files and 10 output files. Test was done with a 2x466/128MB/IBM
20GB deskstar connected to the on-board HPT366 controller. Looks
quite good except the huge fluctuation in the beginning. VM troubles?
Test was done on test8-pre1 vanilla.

It must be noted that I could reuse signicant portions of code
from ext2 and minix filesystems. Which was a good and a bad thing. It cut
the coding time down but during debugging I had to learn many of the
subtleties by the hard way during debugging. I must say that testing
the filesystem in user-mode linux was a life-safer. The contrast to
the oops|reboot|fsck hell is amazing.

http://www.cs.helsinki.fi/u/amlaukka/streamfs.html

-- 
D.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Sat Sep 02 2000 - 16:35:13 EEST