From mboxrd@z Thu Jan 1 00:00:00 1970 From: Doug McIlroy Message-Id: <200112081958.OAA264525225@nslocum.cs.bell-labs.com> To: rob@research.bell-labs.com, 9fans@cse.psu.edu Subject: [9fans] Python filesystem Date: Sat, 8 Dec 2001 14:58:52 -0500 Topicbox-Message-UUID: 3150e41c-eaca-11e9-9e20-41e7f4b1d025 I I don't know what it has to do with Python, but here's a little about the half-baked idea referenced in the attached message. In its simplest form, the idea was for the metadata to be a single line of text, with all the metadata in a file system unioned into a single file in which each line begins with the (or a) name of the associated data file. What descriptors might go in the metadata is left arbitrary. To ask about a file, one would just look at the metadata. To find a file given some descriptors, one could grep the union file. I never thought of an appealing way to maintain the union file. How, for example, can a useful name be determined for a file, short of some ugly AI like pwd? What happens to the metadata when a file gets recreated? Assuming only one copy of metadata exists for a file with two names, how do you treat the metadata on unlink? One can come up with answers to these questions, but can one come up with a solution that will run fast and be accurate? Glimpse, for example, provides (a different sort of) index to the contents of a file system by periodically reading the whole file system. Hence it cannot be accurate. The way metadata is stored matters, too. Imagine trying to grep the union of 10,000 files, were each metadata item in a separate file. If anybody thinks up a good way to overcome the problems, I'd love to hear about it. Doug McIlroy >From: skipt@real.com >Date: Thu Nov 29 14:50:26 EST 2001 >To: 9fans@cse.psu.edu >Subject: Re: [9fans] Python filesystem > >In a thread long ago, Rob mentioned an idea proposed by Doug McIlroy for an >indexed/annotated filesystem that would keep an annotation file for each >regular file. It would seem like the right idea for keeping the mod >documentation, etc. > >BTW, I've not been able to find any reference to the annotation/fs idea. >Was anything written up (that could be shared)? > >>What do we lack then? Locking and management of metadata? There's >>probably a way around those, as well. The revision control FS isn't >>well formed for saving; maybe a better solution would be to echo a >>revision number into a ctl or new file, and then have that create a new >>delta. Write the file into it, and let the FS take care of picking out >>the delta and storing it. Perhaps a metadata file could be associated >>with every file. eg, foo.c;meta, foo.c;1.0, etc. >