to read from stdin. Previously it behaved as if --retry was specified.
[This bug was present in "the beginning".]
+ tail -f 'remote file' will now avoid outputting repeated data on network
+ file systems that misreport file sizes through stale metadata.
+ [This bug was present in "the beginning" but exacerbated in coreutils-8.24]
+
yes now handles short writes, rather than assuming all writes complete.
[bug introduced in coreutils-8.24]
}
}
- bytes_read = dump_remainder (name, fd,
- (f[i].blocking
- ? COPY_A_BUFFER : COPY_TO_EOF));
+ /* Don't read more than st_size on networked file systems
+ because it was seen on glusterfs at least, that st_size
+ may be smaller than the data read on a _subsequent_ stat call. */
+ uintmax_t bytes_to_read;
+ if (f[i].blocking)
+ bytes_to_read = COPY_A_BUFFER;
+ else if (S_ISREG (mode) && f[i].remote)
+ bytes_to_read = stats.st_size - f[i].size;
+ else
+ bytes_to_read = COPY_TO_EOF;
+
+ bytes_read = dump_remainder (name, fd, bytes_to_read);
+
any_input |= (bytes_read != 0);
f[i].size += bytes_read;
}