micro-opt: get xattrs directly before acls

on linux, acls are based on xattrs, so do these closeby:

1. listxattr -> keys (without acl related keys)
2. for all keys: getxattr
3. acl-related getxattr by acl library
This commit is contained in:
Thomas Waldmann 2019-02-17 02:46:03 +01:00
parent 85b711fc88
commit 39922e88e5
1 changed files with 1 additions and 1 deletions

View File

@ -954,9 +954,9 @@ class MetadataCollector:
attrs = {}
bsdflags = 0
with backup_io('extended stat'):
xattrs = xattr.get_all(fd or path, follow_symlinks=False)
if not self.nobsdflags:
bsdflags = get_flags(path, st, fd=fd)
xattrs = xattr.get_all(fd or path, follow_symlinks=False)
acl_get(path, attrs, st, self.numeric_owner, fd=fd)
if xattrs:
attrs['xattrs'] = StableDict(xattrs)