Bug ID: 13317
           Summary: rsync returns success when target filesystem is full
           Product: rsync
           Version: 3.1.2
          Hardware: x64
                OS: FreeBSD
            Status: NEW
          Severity: major
          Priority: P5
         Component: core
        QA Contact:

rsync returns success when the target filesystem is full (ZFS using quotas). 
It leaves a corrupted truncated or sparsely populated file on the target while
returning success.

i.e. Target system does not have enough space; however the rsync does not fail
on the syncing of the file but on the rename of file.  If however, there is
just enough space left over for the rename; then the complete operation is
marked as success and a truncated or corrupted sparse file is left on the
target filesystem.  This causes issues with application that rely on the return
code like Postgresql's archive process which will then delete the original WAL
file after a success code is returned.  The result is that WAL file was never
archive properly resulting in corrupted database backup.   

[postgres@hades ~/dbc1/pg_wal]$ rsync -a 000000010000005B00000035
rsync: rename
"/usr/home/postgres/arch/dbc1/wal/.000000010000005B00000035.6bjO94" ->
"000000010000005B00000035": Disc quota exceeded (69) 
rsync error: some files/attrs were not transferred (see previous errors) (code
23) at main.c(1200) [sender=3.1.2] 

i.e. more detail example:

You are receiving this mail because:
You are the QA Contact for the bug.

Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options:
Before posting, read:

Reply via email to