Messages in this thread | | | Date | Mon, 17 May 1999 12:49:15 -0400 (EDT) | From | "Theodore Y. Ts'o" <> | Subject | Re: ext2(3?) streams application |
| |
Date: Sun, 16 May 1999 17:39:03 +0200 From: Rolf Fokkens <rolf@flits102-126.flits.rug.nl>
I recently read about the streams facility in NTFS. I searched the internet (not very thoroughly) to see if these streams would be considered for linux. I didn't find very much info about it, except that they wouldn't fit in the unix file interface.
It's more than just that it doesn't fit in the Unix file interface. It also presents problems for a large number of internet protocols, such as FTP and HTTP as well. One of the real annoyances of the Macintosh was that you couldn't just ftp files around without trashing the resource fork. You had to binhex them first, which was a real pain to say the least.
I do see some internal applications for streames though within the ext2 (or ext3 or whatever) filesystem, which might be of use. I'll mention them: 1) ext2compr: Compressed files need a bitmap telling which blocks are compressed. A separate stream for this might be handy. 2) ACL: Access Control Lists might use a separate stream 3) Capabilities: I hardly know anything about capabilities, but I assume they need some adminsitration. This might be done in a separate stream.
Some of these may be useful additional file metadata which is stored by the kernel, and administered by the kernel. A generic mechanism for storing such items may very well be useful, although these items are small and only need to be accessed and modified by the kernel. (Indeed, for ACL's and Capabilities, you only want the kernel mucking with them for security reasons!)
But that is a very different beast than the streams facility in NTFS, where user-level programs have access to the streams. If you are designing an application progam and you need that kind of facility, you're probably better off inventing your own internal file structure to store the streams, since at least that way the file can be safely ftp'ed and accessed over NFS. Alternatively, you could put all of the information into seprate files in a directory, which is the approach NeXTStep used instead of the diastrous resource fork approach used by the Macintosh.
- Ted
- 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/
| |