(Illustration by Gaich Muramatsu)
Excuse me if you get two emails, I might have sent an email to the wrong place before. I think that there is something wrong with the ioctl interface to venus. There are a couple things that I just can't seem to get working: 1) first of all I can't seem to set acl's. When I run "cfs sa" I get "Connection timed out" instantly back. [bwoodard_at_trill repair]$ cfs sa /coda System:AnyUser rl /coda: Connection timed out I did a strace and the problem seems to be in this little bit of code: open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x40145602, 0xbffffba0) = 0 close(3) = 0 open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x40145601, 0xbffffba0) = -1 ETIMEDOUT (Connection timed out) close(3) = 0 2) I can't seem to repair anything: First of all in my coda console I am getting: 14:17:46 Local inconsistent object at /coda/home/bwoodard/Mail1/Contacts, please check! So I look in 3.6.2 of the manual and it says to use repair but my experience seems a bit different than what is documented: [bwoodard_at_trill coda-4.6.1]$ repair This repair tool can be used to manually repair server/server or local/global conflicts on files and directories. You will first need to do a "beginrepair" to start a repair session where messages about the nature of the conflict and the commands that should be used to repair the conflict will be displayed. Help message on individual commands can also be obtained by using the "help" facility. Finally, you can use the "endrepair" or "quit" to terminate the current repair session. repair > begin Pathname of object in conflict? []: /coda/home/bwoodard/Mail1/Contacts ENABLEREPAIR: /coda/home/bwoodard/Mail1/Contacts/: No such file or directory repair > When I run a strace, I find that once again an ioctl is failing: open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x401456d3, 0xbffffbd8) = 0 close(3) = 0 open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x401456c5, 0xbfff9980) = 0 close(3) = 0 open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x401456c5, 0xbfff9980) = 0 close(3) = 0 open("/coda/.CONTROL", O_RDONLY) = 3 ioctl(3, 0x401456c0, 0xbfffb224) = -1 ENOENT (No such file or directory) close(3) = 0 I suspect that the problem around repair.cc:beginrepair() around: /* Obtain names of rw replicas */ vioc.out_size = (short)sizeof(space); vioc.in_size = 0; vioc.out = space; bzero(space, (int)sizeof(space)); rc = pioctl(prefix, VIOC_ENABLEREPAIR, &vioc, 0); if (rc < 0) { if (errno == EWOULDBLOCK) { printf("Repair in progress on volume at \"%s\"\n", prefix); /* Print out Workstation/IP addr here --- Satya */ } else repair_perror(" ENABLEREPAIR", prefix, errno); /* some other error */ repair_finish(repv); return; } sprintf(repv->rodir, "%s", reppath); but I don't understand enough about the way the code works to say more. 3) (documentation) to be able to get codacon working, I needed to put my current IP address after it e.g. "codacon 127.0.0.1" or else it trys to bind to whatever IP address I booted up with. There isn't even a codacon man page to tell you this and it isn't listed in the manual. However, I am confused should I be watching a codacon or should I be watching /usr/coda/etc/console it seems to have more useful information in it? -benReceived on 1998-07-05 16:42:55