[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #13 from Rui DeSousa--- (In reply to Rui DeSousa from comment #12) Running truss on the --sparse option does show the error being is returned during the write call. [postgres@hades ~]$ truss -f -o sparse.log rsync -av --sparse 0001005E0017 arch/0001005E0017 sending incremental file list 0001005E0017 rsync: write failed on "/usr/home/postgres/arch/0001005E0017": Disc quota exceeded (69) rsync error: error in file IO (code 11) at receiver.c(400) [receiver=3.1.2] rsync: [sender] write error: Broken pipe (32) [postgres@hades ~]$ grep 68408 sparse.log |grep ERR 68408: openat(AT_FDCWD,"0001005E0017",O_RDONLY,00) ERR#2 'No such file or directory' 68408: write(1,"\M^W\M-P\^E\0\^A\0\0\0\0\0\^P\\^"...,1024) ERR#69 'Disc quota exceeded' 68408: stat("/usr/share/nls/C/libc.cat",0x7fff9dd8) ERR#2 'No such file or directory' 68408: stat("/usr/share/nls/libc/C",0x7fff9dd8) ERR#2 'No such file or directory' 68408: stat("/usr/local/share/nls/C/libc.cat",0x7fff9dd8) ERR#2 'No such file or directory' 68408: stat("/usr/local/share/nls/libc/C",0x7fff9dd8) ERR#2 'No such file or directory' -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #12 from Rui DeSousa--- (In reply to Dave Gordon from comment #10) The sparse option errors out :). [postgres@hades ~]$ rsync -av --sparse 0001005E0017 arch/0001005E0017 sending incremental file list 0001005E0017 rsync: write failed on "/usr/home/postgres/arch/0001005E0017": Disc quota exceeded (69) rsync error: error in file IO (code 11) at receiver.c(400) [receiver=3.1.2] rsync: [sender] write error: Broken pipe (32) [postgres@hades ~]$ rsync -av --preallocate 0001005E0017 arch/0001005E0017 preallocation is not supported on this Server rsync error: syntax or usage error (code 1) at compat.c(205) [Receiver=3.1.2] rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2] -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #11 from Rui DeSousa--- (In reply to Dave Gordon from comment #7) This is the result of hard link on the temp file where the rename failed. root@hades:~postgres/arch # ls -lh rsync.temp ; du -h rsync.temp -rw--- 1 postgres postgres 1.1M Mar 5 16:02 rsync.temp 329Krsync.temp The file system has LZ4 compression; thus the file is actually 19MB on disk. root@hades:~postgres # ls -lh 0001005E0017 -rw--- 1 postgres postgres64M Mar 5 16:02 0001005E0017 root@hades:~postgres # du -h 0001005E0017 19M0001005E0017 Since it's using compression; I thought /dev/zero would be a bad option to test with. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #10 from Dave Gordon--- BTW, have you tried *either* --sparse *or* --preallocate (but not both together, please, as that will trigger bug 13320 - https://bugzilla.samba.org/show_bug.cgi?id=13320) Does you get the same problem (i.e. file corruption with no reported error) with each of these, or an error, or some different type of misbehaviour? .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #9 from Dave Gordon--- (In reply to Rui DeSousa from comment #6) In your example: $ rsync -av --inplace 0001005E0017 arch/0001005E0017 sending incremental file list 0001005E0017 sent 67,125,370 bytes received 35 bytes 8,950,054.00 bytes/sec total size is 67,108,864 speedup is 1.00 $ ls -lh arch/0001005E0017 -rw--- 1 postgres postgres64M Mar 5 16:02 arch/0001005E0017 $ du -h arch/0001005E0017 362Karch/0001005E0017 how much of the source file is non-sparse? 'Cos ZFS can "sparsify" a file if it detects that you've got big chunks of zeros. For that matter, if you've got dedup enabled, it should be able to detect any repeated pattern that's block-sized and -aligned. That might let you create files that go over quota, since they're not really using very much space. In your dd(1) example, do you get a different result if you source /dev/zero rather than /dev/(u)random? .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #8 from Ben RUBSON--- (In reply to Dave Gordon from comment #3) > ZFS probably notices the quota problem somewhere between (b) and (c), drops > the excess data, and returns EDQUOT to the close(2) call. (In reply to Dave Gordon from comment #7) > So if ZFS did return a delayed error at that point, it would be detected and > cause the transfer to fail. I confirm ZFS does not return delayed errors. userquota are delayed, so user may store more than the userquota, however what is stored is stored. The other types of ZFS quotas, quota and refquota, are not delayed and ZFS extremely takes care to the last bytes stored around the limit to return EDQUOT after the very last allowed bytes (throughput is then here terribly slow). -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: [Bug 13317] rsync returns success when target filesystem is full
On Mon, Mar 5, 2018 at 3:09 PM, just subscribed for rsync-qa from bugzilla via rsyncwrote: > https://bugzilla.samba.org/show_bug.cgi?id=13317 > > --- Comment #6 from Rui DeSousa --- > (In reply to Rui DeSousa from comment #5) > > It looks like no error is returned and result is a sparse file. I think a > sync() would be required otherwise the file is truncated on close to meet the > quota. IINM, to create a sparse file, you have to seek past the concrete part of a file (if any), and write something. I'm not sure that a sync would change whether you've gone over your quota. At least, if I were designing a quota system, I'd make it depend on what you've written to the buffer cache and disk, not disk alone. Here's an example of creating a sparse file: $ /usr/local/pypy3-5.10.0/bin/pypy3 below cmd output started 2018 Mon Mar 05 04:01:55 PM PST Python 3.5.3 (09f9160b643e, Dec 22 2017, 10:10:27) [PyPy 5.10.0 with GCC 6.2.0 20160901] on linux Type "help", "copyright", "credits" or "license" for more information. file_ = open('/tmp/sparse-file', 'wb') file_.seek(1024*1024*8) 8388608 file_.write(b'a') 1 file_.close() above cmd output done2018 Mon Mar 05 04:02:14 PM PST dstromberg@zareason2:~ x86_64-unknown-linux-gnu 4805 $ ls -l /tmp/sparse-file below cmd output started 2018 Mon Mar 05 04:02:18 PM PST -rw-rw-r-- 1 dstromberg dstromberg 8388609 Mar 5 16:02 /tmp/sparse-file above cmd output done2018 Mon Mar 05 04:02:18 PM PST dstromberg@zareason2:~ x86_64-unknown-linux-gnu 4805 $ du -sh /tmp/sparse-file below cmd output started 2018 Mon Mar 05 04:02:22 PM PST 4.0K/tmp/sparse-file -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #7 from Dave Gordon--- (In reply to Rui DeSousa from comment #5) That was a run where the rename failed. Do you know whether the temporary file was truncated or corrupted in that scenario? [HINT: one can stop the rsync with a signal, find the temporary file, create a hardlink to it, and then let rsync resume; in the event of an error, the temporary won't disappear because of the hardlink, and then one can examine it to see what state it was in when rsync quit]. Another thing to try would be adding the options --itemize-changes and --debug=deltasum3,recv2,io2 BTW I checked whether the return code from close() is verified, and, while there are many close() calls whose result is ignored, the specific one at the end of a file transfer *is* checked. So if ZFS did return a delayed error at that point, it would be detected and cause the transfer to fail. .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #6 from Rui DeSousa--- (In reply to Rui DeSousa from comment #5) It looks like no error is returned and result is a sparse file. I think a sync() would be required otherwise the file is truncated on close to meet the quota. [postgres@hades ~]$ df -h arch Filesystem SizeUsed Avail Capacity Mounted on hydra/home/postgres/arch1.0G1.0G316K 100% /usr/home/postgres/arch [postgres@hades ~]$ rsync -av --inplace 0001005E0017 arch/0001005E0017 sending incremental file list 0001005E0017 sent 67,125,370 bytes received 35 bytes 8,950,054.00 bytes/sec total size is 67,108,864 speedup is 1.00 [postgres@hades ~]$ ls -lh arch/0001005E0017 -rw--- 1 postgres postgres64M Mar 5 16:02 arch/0001005E0017 [postgres@hades ~]$ du -h arch/0001005E0017 362Karch/0001005E0017 Here's example of dd exceeding the quota; however, it ends up with a truncated file instead of it being sparse. [postgres@hades ~/arch]$ dd if=/dev/random of=test.dmp bs=256k ^C3080+0 records in 2+6156 records out 807403520 bytes transferred in 10.843296 secs (74461081 bytes/sec) [postgres@hades ~/arch]$ ls -lh test.dmp -rw-r--r-- 1 postgres postgres 384K Mar 5 18:05 test.dmp [postgres@hades ~/arch]$ du -h test.dmp 393Ktest.dmp -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #5 from Rui DeSousa--- (In reply to Dave Gordon from comment #4) Hi Dave, I'm not seeing any errors on the write calls. Would an fsync() be required to force the error? [postgres@hades ~]$ grep ERR rsync.test.log 52419: lstat("/usr/local/etc/libmap.d",0x7fffc728) ERR#2 'No such file or directory' 52419: access("/lib/libiconv.so.2",F_OK) ERR#2 'No such file or directory' 52419: access("/usr/lib/libiconv.so.2",F_OK) ERR#2 'No such file or directory' 52419: access("/usr/lib/compat/libiconv.so.2",F_OK) ERR#2 'No such file or directory' 52419: readlink("/etc/malloc.conf",0x7fffd7e0,1024) ERR#2 'No such file or directory' 52419: openat(AT_FDCWD,"/etc/popt",O_RDONLY,00) ERR#2 'No such file or directory' 52419: openat(AT_FDCWD,"/usr/home/postgres/.popt",O_RDONLY,00) ERR#2 'No such file or directory' 52881: stat("arch/0001005E0017",0x7fffca10) ERR#2 'No such file or directory' 52881: __acl_get_file(0x455d12,0x3,0x8012ca000) ERR#22 'Invalid argument' 52881: lstat("0001005E0017",0x7fffbc60) ERR#2 'No such file or directory' 52987: openat(AT_FDCWD,"0001005E0017",O_RDONLY,00) ERR#2 'No such file or directory' 52987: __acl_get_file(0x455d12,0x3,0x8012ca000) ERR#22 'Invalid argument' 52987: rename(".0001005E0017.kmkocG","0001005E0017") ERR#69 'Disc quota exceeded' 52987: stat("/usr/share/nls/C/libc.cat",0x7fff9e28) ERR#2 'No such file or directory' 52987: stat("/usr/share/nls/libc/C",0x7fff9e28) ERR#2 'No such file or directory' 52987: stat("/usr/local/share/nls/C/libc.cat",0x7fff9e28) ERR#2 'No such file or directory' 52987: stat("/usr/local/share/nls/libc/C",0x7fff9e28) ERR#2 'No such file or directory' 52987: select(1,{ 0 },{ },{ 0 },{ 60.00 }) ERR#4 'Interrupted system call' 52881: nanosleep({ 0.02000 }) ERR#4 'Interrupted system call' 52881: wait4(-1,0x7fffc3d4,WNOHANG,0x0) ERR#10 'No child processes' 52881: sigreturn(0x7fffc400) ERR#4 'Interrupted system call' 52881: wait4(52987,0x7fffc9d4,WNOHANG,0x0) ERR#10 'No child processes' 52419: nanosleep({ 0.02000 }) ERR#4 'Interrupted system call' 52419: wait4(-1,0x7fffc4d4,WNOHANG,0x0) ERR#10 'No child processes' 52419: sigreturn(0x7fffc500) ERR#4 'Interrupted system call' 52419: wait4(52881,0x7fffcaf4,WNOHANG,0x0) ERR#10 'No child processes' 52419: wait4(52881,0x7fffcaf4,WNOHANG,0x0) ERR#10 'No child processes' -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #4 from Dave Gordon--- To see whether rsync is getting any errors reported by any system calls it makes, one could run it under strace(1) on Linux, or dtrace on Solaris. Presumably FreeBSD has at least one of these, or something similar? Linux: $ strace -ff -o rsync-trace -e trace=file,desc rsync ... $ grep -w 'E[[:upper:][:digit:]]*' rsync-trace.* access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) stat("/etc/popt.d", 0x7ffdafe82860) = -1 ENOENT (No such file or directory) The output is a list of all filename- or descriptor-related syscalls that failed. If any of them show up as EDQUOT or relate to the problematic output file, that might be a big clue :) HTH, .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13317] rsync returns success when target filesystem is full
https://bugzilla.samba.org/show_bug.cgi?id=13317 --- Comment #3 from Dave Gordon--- (In reply to Rui DeSousa from comment #2) Here's a snippet from Oracle's ZFS help ... https://docs.oracle.com/cd/E19253-01/819-5461/gitfx/index.html "Enforcement of user and group quotas might be delayed by several seconds. This delay means that users might exceed their quota before the system notices that they are over quota and refuses additional writes with the EDQUOT error message." So, rsync(1) might (a) successfully write a bunch of data that falls just short of the quota, (b) "successfully" (i.e. with no reported error) write some more that takes it over quota (c) close the file (ignoring any result) (d) rename the file -- which may or may not work. ZFS probably notices the quota problem somewhere between (b) and (c), drops the excess data, and returns EDQUOT to the close(2) call. The success of the rename depends only on whether there is sufficient free space at that instant; any previous failure in writing the file won't affect the rename directly. Rename may not always need any extra space anyway. BTW: apropos your comment about "cat" in thread https://www.postgresql.org/message-id/E6AB850C-D05E-405B-8D4E-DE18E128F402%40icloud.com it's not the cat that makes this reliable, it's the ssh! :) HTH, .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13320] file contents cause rsync to fail (with certains args and dir structure)
https://bugzilla.samba.org/show_bug.cgi?id=13320 --- Comment #3 from Dave Gordon--- Problem introduced by commit f3873b3d88b61167b106e7b9227a20147f8f6197 Author: Wayne Davison Date: Mon Oct 10 11:49:50 2016 -0700 Support --sparse combined with --preallocate or --inplace. The new code tries to punch holes in the destination file using newer Linux fallocate features. It also supports a --whole-file + --sparse + --inplace copy on any filesystem by truncating the destination file. Root cause is that the new variable 'sparse_past_write' is not reset when switching files, thus leading to miscalculation of the current seek position in do_punch_hole(). Quick fix is to reset this variable to the current seek position on each call to write_sparse() - probably not the most efficient fix, but it seems to work. .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13320] file contents cause rsync to fail (with certains args and dir structure)
https://bugzilla.samba.org/show_bug.cgi?id=13320 --- Comment #2 from Dave Gordon--- Created attachment 14018 --> https://bugzilla.samba.org/attachment.cgi?id=14018=edit Simple although probably suboptimal fix -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
[Bug 13320] file contents cause rsync to fail (with certains args and dir structure)
https://bugzilla.samba.org/show_bug.cgi?id=13320 --- Comment #1 from Dave Gordon--- Bug will be triggered if: options include both --sparse and --preallocate, AND the second (or subsequent) file to be copied begins with one or more zero bytes. .Dave. -- 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: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
Re: file contents cause rsync to fail (with certains args and dir structure)
Problem was introduced with this commit: commit f3873b3d88b61167b106e7b9227a20147f8f6197 Author: Wayne Davison way...@samba.org Date: Mon Oct 10 11:49:50 2016 -0700 Support --sparse combined with --preallocate or --inplace. The new code tries to punch holes in the destination file using newer Linux fallocate features. It also supports a --whole-file + --sparse + --inplace copy on any filesystem by truncating the destination file. .Dave. Sent using Zoho Mail On Sun, 04 Mar 2018 23:17:23 +0100 Dave Gordon via rsync rsync@lists.samba.org wrote Quite strange at first sight that the failure should depend on the files containing NULs! But I've reproduced it on both Ubuntu and OpenSUSE with d73762e "Preparing for release of 3.1.3". The problem remains even if you drop the --checksum or --delay-updates options from the command line, but goes away if you don't use both "--sparse" and "--preallocate" together. So it looks like a bad interaction of these options, probably with the sparse handling being affected by the NULs in the files. HTH, .Dave. Sent using Zoho Mail On Sun, 04 Mar 2018 14:57:24 +0100 xftroxgpx via rsync rsync@lists.samba.org wrote -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html script to reproduce: #!/bin/bash #tested to fail as below: ArchLinux's rsync-3.1.3-1-x86_64.pkg.tar.xz #tested to fail as below: ArchLinux's rsync-3.1.3pre1-1-x86_64.pkg.tar.xz #tested to work ok : ArchLinux's rsync-3.1.2-8-x86_64.pkg.tar.xz if test "$1" == "clean"; then rm -vrf destdir sourcedir sourcedir2 sourcedir3 exit 0 fi echo '!! test 1:' mkdir -p destdir mkdir -p sourcedir/a #one \0 followed by a non-\0 (so, using a space) required: echo -ne '\0 ' sourcedir/a/b #non zero size file required: echo -ne 'c' sourcedir/c echo 'sourcedir' /tmp/filesfrom.lst.tmp rsync --recursive --perms --checksum --delay-updates --numeric-ids --preallocate --sparse --files-from=/tmp/filesfrom.lst.tmp -- ./ ./destdir/ #rsync: write failed on "/home/xftroxgpx/sandbox/rsync/nsfod_issues/try2/destdir/sourcedir/a/b": No such file or directory (2) #rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3] # ^ this happens first and any subsequent times! echo '!! test 2:' mkdir -p sourcedir2/a #one \0 followed by a non-\0 (so, using an M) required: echo -ne '\0M' sourcedir2/a/b #one \0 followed by a non-\0 (so, using an M) required: echo -ne '\0M' sourcedir2/c #in order to see this error: (for file 'c') #non-zero file size required and it must be prefixed by '.' aka dot #echo -ne '1' sourcedir2/.d #XXX: ^ (un)comment, don't forget to ./go clean afterwards, then ./go #otherwise, the error is for file "a/b" echo 'sourcedir2' /tmp/filesfrom.lst.tmp rsync --recursive --perms --checksum --delay-updates --numeric-ids --preallocate --sparse --files-from=/tmp/filesfrom.lst.tmp -- ./ ./destdir/ #rsync: write failed on "/home/xftroxgpx/sandbox/rsync/nsfod_issues/try2/destdir/sourcedir2/a/b": No such file or directory (2) #rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3pre1] echo '!! test 3:' #same as 2 but an extra file '.d' exists! mkdir -p sourcedir3/a #one \0 followed by a non-\0 (so, using an M) required: echo -ne '\0M' sourcedir3/a/b #one \0 followed by a non-\0 (so, using an M) required: echo -ne '\0M' sourcedir3/c #non-zero file size required and it must be prefixed by '.' aka dot echo -ne '1' sourcedir3/.d echo 'sourcedir3' /tmp/filesfrom.lst.tmp rsync --recursive --perms --checksum --delay-updates --numeric-ids --preallocate --sparse --files-from=/tmp/filesfrom.lst.tmp -- ./ ./destdir/ #rsync: write failed on "/home/xftroxgpx/sandbox/rsync/nsfod_issues/try2/destdir/sourcedir2/c": No such file or directory (2) #rsync error: error in file IO (code 11) at receiver.c(374) [receiver=3.1.3] A pristine copy of this script can be found here: https://github.com/xftroxgpx/a3/blob/37ebff3e0fe9d294aeec899a082dc2c51c486eb4/system/Z575/OSes/3archlinux/on_baremetal/filesystem_now/archlinux/home/xftroxgpx/sandbox/rsync/nsfod_issues/try2/go Just run ./go to start all 3 tests. All 3 tests should fail with: ArchLinux's rsync-3.1.3-1-x86_64.pkg.tar.xz ArchLinux's rsync-3.1.3pre1-1-x86_64.pkg.tar.xz All 3 tests will succeed with ArchLinux's rsync-3.1.2-8-x86_64.pkg.tar.xz (aka rsync version 3.1.2 protocol version 31) Cheers! Sent with ProtonMail Secure Email. -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: