diff options
Diffstat (limited to 'util-linux/umount.c')
-rw-r--r-- | util-linux/umount.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/util-linux/umount.c b/util-linux/umount.c index 061bb9b16..3bd86814e 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c | |||
@@ -73,8 +73,13 @@ umount_all(int useMtab) | |||
73 | while ((m = getmntent (mountTable)) != 0) { | 73 | while ((m = getmntent (mountTable)) != 0) { |
74 | char *blockDevice = m->mnt_fsname; | 74 | char *blockDevice = m->mnt_fsname; |
75 | #if ! defined BB_MTAB | 75 | #if ! defined BB_MTAB |
76 | if (strcmp (blockDevice, "/dev/root") == 0) | 76 | if (strcmp (blockDevice, "/dev/root") == 0) { |
77 | blockDevice = (getfsfile ("/"))->fs_spec; | 77 | struct fstab* fstabItem; |
78 | fstabItem = getfsfile ("/"); | ||
79 | if (fstabItem != NULL) { | ||
80 | blockDevice = fstabItem->fs_spec; | ||
81 | } | ||
82 | } | ||
78 | #endif | 83 | #endif |
79 | /* Don't umount /proc when doing umount -a */ | 84 | /* Don't umount /proc when doing umount -a */ |
80 | if (strcmp (blockDevice, "proc") == 0) | 85 | if (strcmp (blockDevice, "proc") == 0) |