Coda File System

Re: Inconsitent ACL

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 27 Apr 2001 07:49:51 -0400
On Fri, Apr 27, 2001 at 11:38:29AM +0200, Steffen Schaefer wrote:
> Hi there,
> 
> I've got another Problem. I've got 2 servers and two clients. One client
> is running on one server. I simulated a server- server disconnection and
> changed the ACl of a directory on one Server.
> As the servers reintegrate I got an inconsistens. Thats OK. Now I want too
> resolve this. I run the repair tool, and it checked the inconsistens.

Yes, Coda doesn't want to make any decisions on protection, it simply
can't tell whether you removed the ACL from one replica, or added an ACL
to the other one, so all of this is left up to the user's discretion.

> But it said that I have to manually repair the ACL conflict with setacl
> ... (I think with the cfs- tool). But the directory is only a link, and if
> I want to repair it during a repair session with ^z or in another window,
> cfs told me that theres no such file or directory.
> 
> Who can I resolve this confilct?

In the repair tool, when you are doing the comparedirs.

$ repair
repair> beginrepair obj-in-conflict
repair> comparedirs /tmp/fix -acl <user> <rwlidka>
repair> dorepair
repair> endrepair
repair> quit

Or by changing the fixfile,

$ repair
repair> beginrepair obj-in-conflict
repair> comparedirs /tmp/fix
"warning acl's are different you need to use setacl"
repair> ^Z
$ cfs la obj-in-conflict/*
...
$ vi /tmp/fix
replica server1 1000001.1.1
    setacl <username> [rwlidka]
    delacl <username>

replica server2 1000002.1.1
    setacl <username> [rwlidka]
    delacl <username>
$ fg
repair> dorepair
repair> endrepair
repair> quit

I believe that the -acl argument on comparedirs simply adds a setacl x y
to all replicas, and overwrites existing acls, thereby resolving any
differences.

Jan
Received on 2001-04-27 07:50:40