[Bug 12806] New: Deleting in a row of hardlinked snapshots resets file permissions.
samba-bugs at samba.org
samba-bugs at samba.org
Fri May 26 14:24:29 UTC 2017
https://bugzilla.samba.org/show_bug.cgi?id=12806
Bug ID: 12806
Summary: Deleting in a row of hardlinked snapshots resets file
permissions.
Product: rsync
Version: 3.1.0
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P5
Component: core
Assignee: wayned at samba.org
Reporter: hww at delember-wyes.de
QA Contact: rsync-qa at samba.org
Created attachment 13239
--> https://bugzilla.samba.org/attachment.cgi?id=13239&action=edit
Log file of bug reproduction
Overview:
In an differential backup system with hard-linked copies of unchanged files,
deleting one snapshot resets the permission bit on all files.
Steps to reproduce:
1) Set up a source directory, fill in a couple of files. Some text is just
fine.
Make one of these files have 444 permissions.
2) Set up a different directory to hold snapshots of the source directory.
3) Make a unique name for a snapshot, using e.g. the current date/time.
4) Make a snapshot using rsync:
rsync -ar --itemize-changes src/ snapshots/`echo $snap`/
$snap contains the name of the snapshot. Save this name in a file
"lastsnapshot".
5) Make a new name for a new snapshot and make it using:
rsync -ar --itemize-changes --link-dest=`pwd`/snapshots/`cat lastsnapshot`/
src/ snapshots/`echo $snap`/. Again, save the name of the last snapshot.
6) Repeat step 5) a couple of times. In the snapshot directory, you will get a
row of snapshots. All files in each snapshot is hard-linked to the counterparts
in the other snapshots. Watch the permission bits of the one file with 444
permissions: Everything is ok.
7) Now, deliberately delete one of the snapshots using e.g.
rsync -r --delete `mktemp -d`/ snapshots/2017-05-26-15-00-53/
8) Now all of the files in all snapshots have 644 permissions. This will cause
the re-transmission of that file with the following snapshot.
Actual results: On deletion of a snapshot, hardlinked files get the wrong
permissions.
Expected results: Permission bits should be left intact.
Attached is a log file where I documented this behaviour.
--
You are receiving this mail because:
You are the QA Contact for the bug.
More information about the rsync
mailing list