(Illustration by Gaich Muramatsu)
Hello! Some of you can recall a posting called "design: go beyond AFS?"... I spent several years using and adminstering "global file systems" like DFS and Coda, have used AFS, too. All of them share the concept of volumes/filesets and of "mountpoints" as special file system objects. A lot of times during these years I had to maintain a mapping between volume names and their mountpoints. Even worse, you can easily mount a volume at multiple points, say by mistake, endangering your data consistency... We had to elaborate scripts for creating DFS filesets (DFS-ish for "volumes") that mapped in some way the intended paths into volume names, to be able to guess later where a given volume is/should be mounted... Now Coda is capable of avoiding such mess, as the volume names can contain the same characters as the paths. Moreover, Coda mountpoints at path "/a/b/c" mount by default a volume named "/a/b/c" ! The only limitation (hopefully going to disappear) is that you have about max 31 characters in the volume names, so if your mountpoints situate very deeply in Coda filetree, you are out of luck. Otherwise I suggest some simple rules, that make the life a lot easier. You are going to feel the difference in the long run, when you have hundreds or thousands of volumes (and may be multiple administrators too). (Note: it is not a good idea to just use a few BIG volumes, it creates other problems...) The practical rules: -------------------- 1. Call your rootvolume for "/". Yes, a slash. There is no reason to call it for anything else :) It is tragical that setup scripts used to ask for that name, while it does not matter technically but just creates confusion... [*] 2. Call your new volumes as their mountpoints are, like volume "/home/a/alice" to be mounted at /coda/home/a/alice (or at /coda/<yourrealm>/home/a/alice in the new global name space) 3. Create mountpoints with cfs mkm <name> without extra arguments, such "default" mountpoints always mount a volume called "<path-of-the-mountpoint>" like above (Thanks Jan for implementing this!) I would go as far as to recommend: - try recreating your existing volumes with new, path-consistent names, then look at the volume listing (say coda server startup log) and compare, which names are easier to remember and recognize. Then you may feel an urge for moving the data from the old volumes to the new still empty ones... :) [have we got a usable "acltar" utility? to be able to recursively archive/dearchive/copy coda file hierarchies, preserving acl data? not that I am aware of... it's time to sit down and hack it, any volunteers? :] [*] Note: I suggest to the developers to remove the possibility for arbitrary rootvolume names, fixing it as "/". That would be consistent with the natural naming model for the other volumes, and would remove possible confusion, without sacrificing any functionality. Correct me if you feel you have to have the choice (but then you will have to *make* the choice while installing each new Coda site, too!) Happy Codaing! -- IvanReceived on 2003-02-01 13:03:23