From: Paul Eggert Date: Sat, 26 Nov 2005 07:51:45 +0000 (+0000) Subject: (show_point): Ignore inaccessible file systems. X-Git-Tag: v6.0~1244 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e9c8be100ea7a0d430fa289564db741d3e3e048e;p=thirdparty%2Fcoreutils.git (show_point): Ignore inaccessible file systems. (usage): -a includes dummy file systems, not size-0 file systems. --- diff --git a/src/df.c b/src/df.c index a40aa6dbc9..366aaaa76c 100644 --- a/src/df.c +++ b/src/df.c @@ -615,8 +615,15 @@ show_point (const char *point, const struct stat *statp) me->me_dev = disk_stats.st_dev; else { - error (0, errno, "%s", quote (me->me_mountdir)); - exit_status = EXIT_FAILURE; + /* Report only I/O errors. Other errors might be + caused by shadowed mount points, which means POINT + can't possibly be on this file system. */ + if (errno == EIO) + { + error (0, errno, "%s", quote (me->me_mountdir)); + exit_status = EXIT_FAILURE; + } + /* So we won't try and fail repeatedly. */ me->me_dev = (dev_t) -2; } @@ -724,7 +731,7 @@ or all file systems by default.\n\ Mandatory arguments to long options are mandatory for short options too.\n\ "), stdout); fputs (_("\ - -a, --all include file systems having 0 blocks\n\ + -a, --all include dummy file systems\n\ -B, --block-size=SIZE use SIZE-byte blocks\n\ -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)\n\ -H, --si likewise, but use powers of 1000 not 1024\n\