summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2016-07-24 17:54:31 +0200
committerDaniel Golle <daniel@makrotopia.org>2016-07-24 17:54:31 +0200
commitaddd7dc21fe99f2701c1d4708071578052af401d (patch)
treef745534ddeb4fb649af3f081daa0e2ac672ba463
parent415bb93aac1b3b658d6957e7114ed3835ae3724d (diff)
downloadfstools-addd7dc21fe99f2701c1d4708071578052af401d.tar.gz
block: best-effort in find_mount_point
Don't immediatly fail if block device cannot be stat'ed. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--block.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/block.c b/block.c
index 3326458..720ecb1 100644
--- a/block.c
+++ b/block.c
@@ -592,13 +592,13 @@ static char* find_mount_point(char *block)
int len = strlen(block);
char *point = NULL, *pos, *tmp, *cpoint, *devname;
struct stat s;
+ int rstat;
unsigned int minor, major;
if (!fp)
return NULL;
- if (stat(block, &s))
- return NULL;
+ rstat = stat(block, &s);
while (fgets(line, sizeof(line), fp)) {
pos = strchr(line, ' ');
@@ -658,6 +658,9 @@ static char* find_mount_point(char *block)
break;
}
+ if (rstat)
+ continue;
+
if (!S_ISBLK(s.st_mode))
continue;