Add in a nifty function for mount to use.
-Erik
This commit is contained in:
parent
0d068a2067
commit
016ffe9307
36
utility.c
36
utility.c
@ -1469,6 +1469,42 @@ extern char *find_unused_loop_device(void)
|
|||||||
}
|
}
|
||||||
#endif /* BB_FEATURE_MOUNT_LOOP */
|
#endif /* BB_FEATURE_MOUNT_LOOP */
|
||||||
|
|
||||||
|
#if defined BB_MOUNT
|
||||||
|
char* find_real_root_device_name(void)
|
||||||
|
{
|
||||||
|
int gotIt=0;
|
||||||
|
DIR *dir;
|
||||||
|
struct dirent *entry;
|
||||||
|
struct stat statBuf, rootStat;
|
||||||
|
char fileName[BUFSIZ];
|
||||||
|
|
||||||
|
if (stat("/", &rootStat) != 0)
|
||||||
|
fatalError("Wierd. I could not stat '/'\n");
|
||||||
|
|
||||||
|
if (!(dir = opendir("/dev"));
|
||||||
|
fatalError("Wierd. I could not open '/dev'\n");
|
||||||
|
|
||||||
|
while((entry = readdir(dir)) != NULL) {
|
||||||
|
/* Must skip ".." since that is "/", and so we
|
||||||
|
* would get a false positive on ".." */
|
||||||
|
|
||||||
|
if (strcmp(entry->d_name, "..") == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
sprintf( fileName, "/dev/%s", entry->d_name);
|
||||||
|
|
||||||
|
if (stat(fileName, &statBuf) != 0)
|
||||||
|
continue;
|
||||||
|
if (statBuf.st_rdev == rootStat.st_rdev) {
|
||||||
|
return (strdup(fileName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return( NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined BB_MTAB
|
#if defined BB_MTAB
|
||||||
#define whine_if_fstab_is_missing() {}
|
#define whine_if_fstab_is_missing() {}
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user