Message-Id: <199705051203.OAA05807@grendel.sylaba.poznan.pl> Comments: Authenticated sender is From: "Mark Habersack" Organization: PPP (Pesticide Powered Pumpkins) To: "Tim Bird" Date: Mon, 5 May 1997 14:04:13 +0100 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: A few FS notions Reply-to: grendel AT hoth DOT amu DOT edu DOT pl CC: opendos AT delorie DOT com In-reply-to: <9704301546.ZM13817@caldera.com> Precedence: bulk Once upon a time (on 30 Apr 97 at 15:46) Tim Bird said: > Some attributes that I think it would be interesting to have include: > - for a directory, aggregate disk space of all my descendants > - owner, group, access control list, etc. > - package I belong to > - security signature > - file that created me > - file type (in MIME? or some other standard form) > - icon > - etc. > This list is by no means exhaustive, but gives an example of the types > of things that could be kept. Some of these attributes only make sense if > you have an appropriate file system monitor installed which can track the > information (like the directory disk space attribute) Every time a file > size was modified, the change could be rippled up the path to all enclosing > directories, and the disk space count could always be up to date. This > would allow trivial (and very rapid) display of disk usage, and make disk > quotas much easier. Another example where a monitor would be handy would be > for "file that created me". Often (not always), this information is readily > available, and could be used to find documents of a particular type (or to > assign a file type to the documents). That would be much better than associations present in M$ Windows systems. In Windoze one registers an extension to be recognized as an attribute of *an application*. This means that no other application can use the same extension withouth the danger of a great user confusion. Approach Tim suggests would allow to register *an application* and make it an attribute of a file. That way the OS would have to maintain only one "centra" database of registered application types. > simple, but integrated system, with essentially a "shadow" directory entry > per file in the system. This would be similar to "resource forks" on the > Macintosh. I would recommend also a simple ASCII (name, value) pair as > strings in the attributes "fork" (with some simple convention for binary > data (like for an icon). OS/2 hpfs went too far with its "as many resource > forks as you like" approach. The additional directory entry would double > the number of directory entries required for the file system, and would > cause some overhead in regular scanning. It would point essentially to a > block of data in its own file (an unnamed file?), and would not be returned > by DOS on directory scans. It could have a special char in it, but in all > other respects look like a normal directory entry, so that disk processing > programs were not confused. Here's how I imagine that. Why to double the amount of directory entries when we can keep all this information in the file itself? A while ago we discussed this issue and concluded that the OS should not fiddle with the file's contents. True, but the idea of "unnamed" file makes it look sensible. The diren't contains a pointer to, say, an inode starting a resource-file for the file in question. Such a resource file would occupy only one dirent and could be as big as needed. It wouldn't be listed by 'dir', 'ls' or whatever and wouldn't be directly accessible from the user-level. This is similar to a solution found in the XFree86: there's a /var/X11/lib/app-defaults directory which contains (editable, plain ASCII) "resource" files (or rather descriptions of resources) used by an application. Extending this concept to a more general "resource file" associated with every file in the system, would arm the OS with an integrated and powerful resource system. Such an resource file would contain all the optional file attributes described in FS specification, the "standard" ones, as well as those specific to the application/file. ----------- Sometimes there's nothing to feel, sometimes there's nothing to hold. Sometimes there's no time to run away, sometimes you just feel so old. The times it hurts when you cry, the times it hurts just to breathe. And then it seems like there's no-one left, and all you want is to sleep. Fight, fight, fight - just push it away. Fight, fight, fight - just push it until it breaks