Another set of group changes. As discussed in email and meetings,
group directories are now created in a different tree than the the project directory so that they can be exported independently of the project tree to the nodes in a group experiment. The tree is routed at /groups on boss/users and on nodes. 1. mkgroup,rmgroup,mkproj - Minor changes to reflect new group directory location (/groups). We leave a symlink in the old spot to maintain compatability, and to reduce the number of different directories that a person needs to worry about. So, when a group is made, you get a real directory /groups/pid/gid, and a symlink /proj/pid/groups/gid that points to the former. 2. tmcd/tmcd.c - Minor change to add the additional group directory mount in the mounts command. Only done when pid!=gid for the experiment. 3. tmcd/libsetup.pm and friends - Minor changes to fix the fact that mkdir does not create subdirs along the way unless the -p option is specified. Needed to create the local directory for the mounts returned by tmcd for group dirs. Pushed them out to the sup trees, although 6.2 images older than the most recent one are not going to work right. No one is using those images though, and we should just flush the sup trees. 4. exports_setup.in - Ah, the crux of the issue. I really dislike NFS at this point. The original idea was to export a third set of directories to nodes that were part of a group experiment. Those nodes would get /groups/pid/gid exported, and /proj/pid read-only. Well, no such luck. On users, /groups and /proj are both really on /q, and the old restriction of mountd not allowing an IP to specified more than once on the right hand side for any FS, reared its ugly head again. As far as mountd is concerned, /q/groups and /q/proj are the same thing, and so it bombed when I tried to export them on different lines, since that meant an IP was repeated twice. So, I reworked exports_setup, and now for any node that is part of a group experiment, it gets this: /q/proj/pid /q/groups/pid/gid -maproot=root 22.214.171.124 which at least allows the individual group dirs to be protected from each other, but does not allow /proj/pid to be exported read only. Sigh.
Showing with 204 additions and 99 deletions