Merge pull request #509 from anees-r3hman/umount-rc

mount: report unmount failures
This commit is contained in:
Joachim Wiberg authored and GitHub committed 2026-10-12 09:38:08 +02:00
commit 530d6703f1
2 files changed
+11 -5

No files matched your search

+6 -2
View File
@@ -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;
}
/**
+5 -3
View File
@@ -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!