From: Jim Meyering Date: Mon, 24 Jan 2011 08:37:10 +0000 (+0100) Subject: tail: avoid new diagnostic when applying -f to a pipe on linux-2.3.38 X-Git-Tag: v8.10~56 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8264fc615a1beb82e062949e5cf17c852fcfaaaf;p=thirdparty%2Fcoreutils.git tail: avoid new diagnostic when applying -f to a pipe on linux-2.3.38 * src/tail.c (fremote): Do not print a diagnostic when fstatfs (pipe_FD, &buf) fails, as it now does on linux-2.3.38. This avoids the spurious failure of tests/misc/tail's f-pipe-1 test, when running in input-from-pipe mode. --- diff --git a/src/tail.c b/src/tail.c index 9682a537ca..bcd2d99701 100644 --- a/src/tail.c +++ b/src/tail.c @@ -887,8 +887,11 @@ fremote (int fd, const char *name) int err = fstatfs (fd, &buf); if (err != 0) { - error (0, errno, _("cannot determine location of %s. " - "reverting to polling"), quote (name)); + /* On at least linux-2.6.38, fstatfs fails with ENOSYS when FD + is open on a pipe. Treat that like a remote file. */ + if (errno != ENOSYS) + error (0, errno, _("cannot determine location of %s. " + "reverting to polling"), quote (name)); } else {