mirror of
https://github.com/troglobit/finit.git
synced 2026-10-13 10:14:47 +00:00
Merge pull request #509 from anees-r3hman/umount-rc
mount: report unmount failures
This commit is contained in:
2 files changed
+11
-5
No files matched your search
+6
-2
@@ -121,15 +121,19 @@ void unmount_tmpfs(void)
|
||||
}
|
||||
}
|
||||
|
||||
void unmount_regular(void)
|
||||
int unmount_regular(void)
|
||||
{
|
||||
const struct mntent *mnt;
|
||||
FILE *fp = NULL;
|
||||
int rc = 0;
|
||||
|
||||
while ((mnt = iterator("/proc/mounts", &fp))) {
|
||||
if (!unmount(mnt->mnt_dir))
|
||||
rc = unmount(mnt->mnt_dir);
|
||||
if (!rc)
|
||||
iterator_end(&fp); /* Restart iteration */
|
||||
}
|
||||
|
||||
return !!rc;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -170,7 +170,7 @@ static struct sigmap {
|
||||
|
||||
void mdadm_wait(void);
|
||||
void unmount_tmpfs(void);
|
||||
void unmount_regular(void);
|
||||
int unmount_regular(void);
|
||||
|
||||
static void fs_swapoff(void)
|
||||
{
|
||||
@@ -302,6 +302,7 @@ void do_shutdown(shutop_t op)
|
||||
struct sched_param sched_param = { .sched_priority = 99 };
|
||||
int in_cont = in_container();
|
||||
int signo = SIGTERM;
|
||||
int rc;
|
||||
|
||||
if (SHUTDOWN_DEBUG) cprintf("do_shutdown: entered, op=%d\n", op);
|
||||
|
||||
@@ -377,12 +378,13 @@ void do_shutdown(shutop_t op)
|
||||
}
|
||||
|
||||
/* Unmount any tmpfs before unmounting swap ... */
|
||||
print(0, "Unmounting filesystems ...");
|
||||
print(-1, "Unmounting filesystems ...");
|
||||
unmount_tmpfs();
|
||||
fs_swapoff();
|
||||
|
||||
/* ... unmount remaining regular file systems. */
|
||||
unmount_regular();
|
||||
rc = unmount_regular();
|
||||
print(rc, NULL);
|
||||
|
||||
/*
|
||||
* We sit on / so we must remount it ro, try all the things!
|
||||
|
||||
Reference in new issue
Block a user