git: 5b21d4ad060a - main - Ensure that soft updates are not enabled by default when using mdmfs(8)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 03 Oct 2024 15:07:25 UTC
The branch main has been updated by mckusick:
URL: https://cgit.FreeBSD.org/src/commit/?id=5b21d4ad060acb06c72e0458daebec9bcbf0cefd
commit 5b21d4ad060acb06c72e0458daebec9bcbf0cefd
Author: Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2024-10-03 15:05:42 +0000
Commit: Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2024-10-03 15:06:28 +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: Ivan Rozhuk
PR: 279308
MFC after: 1 week
---
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 86900664230b..f8861ea4e5a8 100644
--- a/include/paths.h
+++ b/include/paths.h
@@ -89,6 +89,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"
@@ -138,6 +139,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 93fa9e8ff0c0..69149b3fb465 100644
--- a/sbin/mdmfs/mdmfs.c
+++ b/sbin/mdmfs/mdmfs.c
@@ -104,7 +104,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;
@@ -357,6 +357,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);
}