I am going to do the enhanced semantics first, so that somebody does not
beat me to it.

David's examples are good.

>
> There's another note to kernel developers -- if Reiser5, 6, and 7 are
> implemented as suites of plugins on top of Reiser4, then the Reiser4
> code will be maintained for a very long time.  Kind of like ext2 vs
> ext3, only moreso -- a Reiser5 FS may well be a Reiser4 FS mounted
> with additional mount options.
>
> There is definitely a lot that can be done to move Reiser4 (as it is
> today) closer to the Reiser4 whitepaper on the homepage.  ACLs are one
> thing, files as a directory are another.  The idea of v4 is to do away
> with many cases where a separate namespace is created for no good
> reason -- for instance, where is the data in an id3 tag?  It's inside
> an mp3 file, and you can only get to it with tools written for id3
> tags of mp3 files.  The Reiser4 concept is to allow things like that
> to exist, but not require programs to know about libid3 or whatever. 
> Want to know what the artist of a particular file is?
>
> foo.mp3/.../id3/artist
>
> Or maybe a more generic way:
>
> foo.mp3/.../song-info/artist
>
> That way, you could have tools which don't even have to know if the
> file has an id3 tag, or something entirely new, or if the metadata is
> being stored outside the main file.  It'd be entirely possible to
> allow that file to be treated as a separate file entirely by the
> plugin, rather than something derived from foo.mp3.
>
> The advantages don't seem immediately obvious until you consider that
> the program which does this doesn't have to even know that it's
> dealing with song metadata.  Consider some of the one-line shell
> scripts possible:
>
>
> # Change the artist name for all songs in the directory:
> for i in *; do echo 'Jimi Hendrix' > foo.mp3/.../song-info/artist; done
>
> # Make a playlist of all files by Hendrix, mp3 or otherwise:
> for i in `find`; do
>     if [ `cat "$i/.../song-info/artist"` == 'Jimi Hendrix' ]; then
>         echo "../$i" >> playlists/hendrix.m3u;
>     fi;
> done
>
> # Copy all files needed by said playlist to a USB device:
> cp playlist/hendrix.m3u/.../files/* /mnt/usb
> cp playlist/hendrix.m3u /mnt/usb
>
>
> I'm sure others can think of much more interesting examples.
>
> All of that is planned for v4, eventually.  It's very pluggable.
>
> Well, I think it is.  I don't work here...
>
>

Reply via email to