openSUSE/snapper — pull request #49 by oniko (2014-02-24 13:44:17+00:00)
Title: Pull requests

Hi Arvin,

this pull request separates ACL modification from general XAs routines in undochange command. This originated as a bug in reverting ACLs in XFS (http://bugzilla.redhat.com/show_bug.cgi?id=1065969).

- using XFS if I try to modify any of "system.posix_acl_*" using
[lf]setxattr I will end up with ENOSUP error. I can read these XAs and
according to code in kernel it's only alias to... (read below)

- XFS in fact stores ACLs in special xa "trusted.SGI_ACL_FILE".
Trying to modify this extended attribute seems not to affect original ACLs in
any way and the content of the xa remains the same. Writes to this xa using syscalls
for manipulating extended attributes are just ignored, I guess.

So I separated ACL modification from XAttributes modification and handle these using acl_set/acl_get routines.

some more or less important highlights:
- new ACL status flag (visible in 'status' command output {.p..xa /file1})
- minor modification of snapper intarface (File.h is changed)
- ACL status flag is subset of XATTRS status flag
- ACL modifications in XAUndoStatisctics are not counted to XATTRS modification
- tested on btrfs, ext2,3,4, xfs using testsuite-real

Hope it'll help to fix the (my:)) mess

Kind regards
Ondrej