git: 51b1d399b2de - stable/13 - Ensure that soft updates are not enabled by default when using mdmfs(8)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 12 Oct 2024 22:33:12 UTC
The branch stable/13 has been updated by mckusick:
URL: https://cgit.FreeBSD.org/src/commit/?id=51b1d399b2de88695030a23430fd6bd9cfb15293
commit 51b1d399b2de88695030a23430fd6bd9cfb15293
Author: Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2024-10-03 15:05:42 +0000
Commit: Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2024-10-12 22:33:05 +0000
Ensure that soft updates are not enabled by default when using mdmfs(8)
When soft updates began being enabled by default that change carried
over to mdmfs(8) which does not want or need them. This fix ensures
that they are only enabled in mdmfs(8) when requested with the -U flag.
Reported by: Ivan Rozhuk
Tested by: Michael Proto
PR: 279308
(cherry picked from commit 5b21d4ad060acb06c72e0458daebec9bcbf0cefd)
---
include/paths.h | 3 +++
sbin/mdmfs/mdmfs.c | 9 ++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/include/paths.h b/include/paths.h
index e38fb733b54c..7f73eaaf0986 100644
--- a/include/paths.h
+++ b/include/paths.h
@@ -92,6 +92,7 @@
#define _PATH_SENDMAIL "/usr/sbin/sendmail"
#define _PATH_SHELLS "/etc/shells"
#define _PATH_TTY "/dev/tty"
+#define _PATH_TUNEFS "/sbin/tunefs"
#define _PATH_UNIX "don't use _PATH_UNIX"
#define _PATH_UFSSUSPEND "/dev/ufssuspend"
#define _PATH_VI "/usr/bin/vi"
@@ -141,6 +142,8 @@ __END_DECLS
#define _PATH_REBOOT "/rescue/reboot"
#undef _PATH_RM
#define _PATH_RM "/rescue/rm"
+#undef _PATH_TUNEFS
+#define _PATH_TUNEFS "/rescue/tunefs"
#undef _PATH_VI
#define _PATH_VI "/rescue/vi"
#undef _PATH_WALL
diff --git a/sbin/mdmfs/mdmfs.c b/sbin/mdmfs/mdmfs.c
index dbd206f953d2..ceb33362e627 100644
--- a/sbin/mdmfs/mdmfs.c
+++ b/sbin/mdmfs/mdmfs.c
@@ -105,7 +105,7 @@ main(int argc, char **argv)
bool detach, softdep, autounit, newfs;
const char *mtpoint, *size_arg, *skel, *unitstr;
char *p;
- int ch, idx;
+ int ch, idx, rv;
void *set;
unsigned long ul;
@@ -358,6 +358,13 @@ main(int argc, char **argv)
do_mdconfig_attach(mdconfig_arg, mdtype);
if (newfs)
do_newfs(newfs_arg);
+ if (!softdep) {
+ rv = run(NULL, "%s %s /dev/%s%d", _PATH_TUNEFS,
+ "-n disable", mdname, unit);
+ if (rv)
+ errx(1, "tunefs exited %s %d", run_exitstr(rv),
+ run_exitnumber(rv));
+ }
do_mount_md(mount_arg, mtpoint);
}