https://bugzilla.novell.com/show_bug.cgi?id=833765
https://bugzilla.novell.com/show_bug.cgi?id=833765#c4
--- Comment #4 from Kurt Garloff 2013-08-08 12:10:40 UTC ---
Actually, I caught it -- issue was copyfile_hardbs() which is used on PPC64 b/c
hardbs = pagesize by default which works out to 64k on PPC64 and thus the same
as default softbs.
Fortunately, the effect was relatively harmless:
- It would only append spurious sparse zeros at the end and only if
copyfile_hardbs was used at the end.
diff -u -p -r1.220 -r1.221
--- dd_rescue.c 7 Aug 2013 07:27:24 -0000 1.220
+++ dd_rescue.c 8 Aug 2013 09:08:11 -0000 1.221
@@ -1121,19 +1125,15 @@ int copyfile_hardbs(const off_t max)
exitfatalerr(eno);
/* Non fatal error */
/* This is the case, where we were not called from
copyfile_softbs and thus have to assume harmless EOF */
- if (softbs <= hardbs && eno == 0) {
+ if (/*softbs <= hardbs &&*/ eno == 0) {
int ret;
/* But first: write available data and advance
(optimization) */
if ((ret = partialwrite(rd)) < 0)
return ret;
else
errs += ret;
- xfer += rd; sxfer += rd;
- if (reverse) {
- ipos -= rd; opos -= rd;
- } else {
- ipos += rd; opos += rd;
- }
+ /* partialwrite calls dowrite_retry which
updates
+ * statistics and positions. */
continue;
}
/* Real error on small blocks: Don't retry */
I'm currently testing 1.39 which has this fixed I'll submit very soon ...
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.