So there are a number of problems:

> Fatal Error: --never-drop-acls specified, but ACL support missing
> from destination filesystem

First of all, that should be s/destination/source/

Looks right, thanks for spotting this. I will correct in CVS.

Second, I don't see a single reason why rdiff-backup should care
about /. I am asking it to recursively back up /, and /srv uses ACLs
all over the place. So either is should look everywhere, or nowhere
at all.

Well, to "look everywhere", rdiff-backup would have to check all of the mount points, keep track of which mount points have which filesystem abilities, and then match every file against the mount point list to adjust which attributes it should be storing. This change would be quite invasive, but a patch would certainly be considered.

Checking nowhere introduces tremendous latencies since rdiff-backup would constantly have to try every possible filesystem ability for each file, most of which would resolve in the equivalent of 'Not implemented' messages being thrown. The extra latency and wasted- bandwidth for this design makes this a non-starter.

So, what can you, the system administrator do about this? Run rdiff- backup several times, once for each of your filesystems, putting the root of the source at the right place. The --exclude-other-filesystems option will ensure that you don't descend into other filesystems. Rdiff-backup provides considerable control over which files are included/excluded.


Third, I am asking it to --never-drop-acls, not to
--require-local-acls or even --backup-acls. --never-drop-acls is
defined as:

  Exit with error instead of dropping acls or acl  entries.
  Normally  this  may  happen (with  a warning) because the
  destination does not support them or because the relevant
  user/group names do not exist on the destination side.

To me, this means to exit with error if ACLs cannot be stored
remotely and would have to be dropped, not if there are no ACLs
defined for the source root.

Correct. And by "stored remotely", rdiff-backup means "applied remotely" -- It will *always* store the ACLs in the metadata, no matter what options you specify.

If I ask it to back up a system without any ACLs and I specified
--never-drop-acls, then it should not exit with an error due to
ACLs, because there are no ACLs that could ever be dropped.

This exit warning is more of a "Hey you!" warning to the sys admin that maybe you aren't clear on what's going on. Specifying --never- drop-acls on a filesystem which doesn't have ACLs seems pretty silly for the operator to do! ;-)

Admittedly, this error could be a little nicer and verbose. For example, if you only specify --include options, rdiff-backup exits with this message:

"""Last selection expression:
    %s
only specifies that files be included.  Because the default is to
include all files, the expression is redundant.  Exiting because this
probably isn't what you meant."""


If, however, I asked it to back up a system with some ACLs and it
couldn't store those properly on the destination filesystem, *then*
it should raise hell!

And it would. Rdiff-backup complains very loudly if it cannot write its metadata files. This error is not it.


Martin, do my comments make sense to you? Do you still feel there is an issue here? Or can this bug report be closed?


best,
Andrew

(an rdiff-backup developer)



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to