[Bug 9466] New: GPFS ACLs are not copied by rsync when copying between two GPFS filesystems
samba-bugs at samba.org
samba-bugs at samba.org
Wed Dec 5 08:20:46 MST 2012
https://bugzilla.samba.org/show_bug.cgi?id=9466
Summary: GPFS ACLs are not copied by rsync when copying between
two GPFS filesystems
Product: rsync
Version: 3.0.9
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P5
Component: core
AssignedTo: wayned at samba.org
ReportedBy: orlando.richards at ed.ac.uk
QAContact: rsync-qa at samba.org
Created attachment 8283
--> https://bugzilla.samba.org/attachment.cgi?id=8283
Patch to rsync to support GPFS attributes
IBM's General Parallel File System (GPFS) offers ACL support. However, rsync
does not copy the ACLs when copying files between GPFS filesystems.
Ronnie Sahlberg released an initial patch to get this working back in 2008:
http://lists.samba.org/archive/rsync/2008-October/021963.html
which I re-jiggled a bit to get building against the rsync 3.0.9 release
tarball. I've attached that here.
To build:
- obtained rsync tarball from:
http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
- Prerequisite is, at least, libacl development headers - in Ubuntu 12.04,
this can be obtained with (for example):
sudo apt-get install libacl1-dev
- Once you've applied the patch with, say:
patch patch -p1 -i ../gpfs_support_rsync-3.0.9.patch
configure rsync with:
./configure --enable-acl-support --enable-xattr-support
--enable-gpfs-support --prefix=/opt/rsync.gpfs
then do:
make
and, optionally,:
make install
- to use the gpfs extensions, add the rsync command option:
--gpfs-attrs
- there's also --gpfs-cache-attr
- So, step by step (this is from an Ubuntu 12.04 box), to build this do:
# sudo apt-get install libacl1-dev
# mkdir -p src/rsync
# cd src/rsync
# wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
### Get the gpfs_support_rsync-3.0.9.patch file and put it in this folder
(src/rsync)
# tar -zxf rsync-3.0.9.tar.gz
# cd rsync-3.0.9
# patch -p1 -i ../gpfs_support_rsync-3.0.9.patch
# ./configure --enable-acl-support --enable-xattr-support --enable-gpfs-support
--prefix=/opt/rsync.gpfs
# make
# make install
- To check that the binary has gpfs support, check that the "gpfs" capability
is present in:
# /opt/rsync.gpfs/bin/rsync --version
rsync version 3.0.9 protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, gpfs, iconv, symtimes
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
- To test if it has worked, first copy a file/folder which has ALCs present
using the "stock" rsync:
# mmgetacl /gpfs1/testfolder1/
#NFSv4 ACL
#owner:root
#group:root
user:12345:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
group:123456:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
group:223456:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
# rsync -av /gpfs1/testfolder1/ /gpfs/testfolder1-copy/
# mmgetacl /gpfs/testfolder1-copy/
#NFSv4 ACL
#owner:root
#group:root
special:owner@:---c:allow
(-)READ/LIST (-)WRITE/CREATE (-)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(-)READ_NAMED
(-)DELETE (-)DELETE_CHILD (X)CHOWN (-)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (-)WRITE_NAMED
special:group@:----:allow
(-)READ/LIST (-)WRITE/CREATE (-)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(-)READ_NAMED
(-)DELETE (-)DELETE_CHILD (-)CHOWN (-)EXEC/SEARCH (-)WRITE_ACL
(-)WRITE_ATTR (-)WRITE_NAMED
special:everyone@:----:allow
(-)READ/LIST (-)WRITE/CREATE (-)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(-)READ_NAMED
(-)DELETE (-)DELETE_CHILD (-)CHOWN (-)EXEC/SEARCH (-)WRITE_ACL
(-)WRITE_ATTR (-)WRITE_NAMED
### (note that this newly created folder may inherit permissions from it's
parent, if it has any set)
# /opt/rsync.gpfs/bin/rsync -av --gpfs-attrs /gpfs1/testfolder1/
/gpfs/testfolder1-copy-withpatchedrsync
# mmgetacl /gpfs/testfolder1-copy-withpatchedrsync
#NFSv4 ACL
#owner:root
#group:root
user:12345:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
group:123456:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
group:223456:rwxc:allow:FileInherit:DirInherit
(X)READ/LIST (X)WRITE/CREATE (X)MKDIR (X)SYNCHRONIZE (X)READ_ACL (X)READ_ATTR
(X)READ_NAMED
(X)DELETE (X)DELETE_CHILD (X)CHOWN (X)EXEC/SEARCH (X)WRITE_ACL
(X)WRITE_ATTR (X)WRITE_NAMED
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the rsync
mailing list