diff --git a/src/finit.c b/src/finit.c index 6204d324..a6b85d66 100644 --- a/src/finit.c +++ b/src/finit.c @@ -212,6 +212,11 @@ static int fsck(int pass) if (mnt->mnt_passno == 0 || mnt->mnt_passno != pass) continue; + if (hasmntopt(mnt, "noauto")) { + dbg("Skipping fsck of %s, marked noauto", mnt->mnt_fsname); + continue; + } + /* Device to maybe fsck, */ dev = mnt->mnt_fsname; @@ -425,6 +430,11 @@ static void fs_swapon(char *cmd, size_t len) if (strcmp(mnt->mnt_type, MNTTYPE_SWAP)) continue; + if (hasmntopt(mnt, "noauto")) { + dbg("Skipping swap %s, marked noauto", mnt->mnt_fsname); + continue; + } + snprintf(cmd, len, "swapon %s", mnt->mnt_fsname); run_interactive(cmd, "Enabling swap %s", mnt->mnt_fsname); } diff --git a/src/sig.c b/src/sig.c index 098074dd..dcbeb088 100644 --- a/src/sig.c +++ b/src/sig.c @@ -187,6 +187,11 @@ static void fs_swapoff(void) if (strcmp(mnt->mnt_type, MNTTYPE_SWAP)) continue; + if (hasmntopt(mnt, "noauto")) { + dbg("Skipping swap %s, marked noauto", mnt->mnt_fsname); + continue; + } + snprintf(cmd, sizeof(cmd), "swapoff %s", mnt->mnt_fsname); run_interactive(cmd, "Disabling swap %s", mnt->mnt_fsname); }