[Bug 13317] rsync returns success when target filesystem is full

2018-03-07 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13317

--- Comment #28 from Dave Gordon  ---
(In reply to Carson Gaspar from comment #27)
Hmm? If you're referring to line 810 of io.c, which is the only write(2) call I
can see in perform_io(), in the current HEAD it looks like this:

 810  if ((n = write(iobuf.out_fd, out->buf + out->pos, len)) <= 0) {
  ...
 822  }
  ...
 835  if ((out->pos += n) == out->size) {
  ...

so that while the immediate test is only for <= 0, the actual result is stored
in n and subsequently used to adjust counters, pointers, etc. I don't think
there's a bug there.

BTW, AFAICT perform_io() is only used for IPC. The received file is written out
by write_file() in fileio.c:

140 /* write_file does not allow incomplete writes.  It loops internally
141  * until len bytes are written or errno is set.  Note that use_seek and
142  * offset are only used in sparse processing (see write_sparse()). */
143 int write_file(int f, int use_seek, OFF_T offset, const char *buf, int len)

.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

2018-03-07 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13317

--- Comment #27 from Carson Gaspar  ---
(In reply to Dave Gordon from comment #23)
Reading this, I took a look at the rsync sources, and, indeed, rsync has a bug.

perform_io() does not correctly check the return code from write().
safe_write() does - please steal the correct logic from it. perform_io() only
checks for write returning <=0, not for write returning something != len. So in
the case of a partial write() it will corrupt the destination file.

I haven't looked for additional coding errors of this type.

-- 
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 13321] Rsync --copy-dest issue

2018-03-07 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13321

--- Comment #1 from Anatoly Penkov  ---
rsync -rlDi -z -t --no-h --out-format="%t %i %n %L" --copy-dest=/data/cache
--stats --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r --delay-updates --partial
--delete-after --force --ignore-errors /data/data
r...@l-rel-dnl.urg.avp.ru:/data

-- 
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 13321] New: Rsync --copy-dest issue

2018-03-07 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13321

Bug ID: 13321
   Summary: Rsync --copy-dest issue
   Product: rsync
   Version: 3.1.3
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P5
 Component: core
  Assignee: way...@samba.org
  Reporter: anatoly.pen...@kaspersky.com
QA Contact: rsync...@samba.org

Please help me to clarify my situation.

Remote (destination) server has a directory /data/data/ and includes 5 OLD
files: data/apu1.part1.rar data/apu1.part2.rar data/apu1.part3.rar
data/apu1.part4.rar data/apu1.part5.rar

Remote (destination) server has a directory /data/cache/data and includes 5 NEW
files: /data/cache/data/apu1.part1.rar /data/cache/data/apu1.part2.rar
/data/cache/data/apu1.part3.rar /data/cache/data/apu1.part4.rar
/data/cache/data/apu1.part5.rar

Local (source) host includes 5 NEW files with the same names:
data/apu1.part1.rar data/apu1.part2.rar data/apu1.part3.rar data/apu1.part4.rar
data/apu1.part5.rar

I try to use Rsync with -copy--dest option not to transfer all NEW files but to
use them from /data/cache/data directory. Unfortunately I have no success. New
files can be used from /data/cache/data ONLY if I transfer files to the new
empty directory. Could someone help to make it working? I hope there is some
needed key or option. Thanks in advance.

Transfer log https://pastebin.com/Zm8GBAEM

-- 
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