Skip stale and unaccessible (FUSE) mountpoints (rhbz#190496, 220991)
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 9 Aug 2007 18:50:56 +0000 (21:50 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 9 Aug 2007 18:50:56 +0000 (21:50 +0300)
Ported from rpm5.org work of Jeff Johnson.

lib/fs.c

index c83051d..64fc4e0 100644 (file)
--- a/lib/fs.c
+++ b/lib/fs.c
@@ -109,11 +109,17 @@ static int getFilesystemList(void)
        filesystems[i].mntPoint = fsnames[i] = fsn;
        
        if (stat(filesystems[i].mntPoint, &sb)) {
-           rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
+           switch (errno) {
+           case EACCES: /* fuse mount */
+           case ESTALE: 
+               continue;
+           default:
+               rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
                        strerror(errno));
 
-           freeFilesystems();
-           return 1;
+               freeFilesystems();
+               return 1;
+           }
        }
        
        filesystems[i].dev = sb.st_dev;