Date: Sat, 31 Jan 2026 17:50:25 +0000 From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: ad64308af9e3 - stable/13 - newfs: Add an option to disable soft updates Message-ID: <697e40e1.1ee3a.4a4a92bf@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/13 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ad64308af9e3b61cc83acd6645ad608e63e97406 commit ad64308af9e3b61cc83acd6645ad608e63e97406 Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2026-01-11 02:34:00 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2026-01-31 17:50:18 +0000 newfs: Add an option to disable soft updates A previous commit turned soft updates on by default for UFS2 without providing a way to turn them off. This corrects that by adding a new -u flag which forces soft updates (and soft updates journaling) off. MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Fixes: 61dece6d27fb ("Enable soft updates by default for UFS2 filesystems.") Reviewed by: mckusick Differential Revision: https://reviews.freebsd.org/D54576 (cherry picked from commit 68562f8145e8154e7e276897a546995f0d8f3428) newfs: Add -u to getopt string Fixes: 68562f8145e8 ("newfs: Add an option to disable soft updates") (cherry picked from commit 717ae163919e48f000b94f85dc188e0d92261929) --- sbin/newfs/newfs.8 | 24 ++++++++++++++++++------ sbin/newfs/newfs.c | 11 +++++++---- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/sbin/newfs/newfs.8 b/sbin/newfs/newfs.8 index 0b9f66a7e76d..de69cc30dc16 100644 --- a/sbin/newfs/newfs.8 +++ b/sbin/newfs/newfs.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 18, 2024 +.Dd January 7, 2026 .Dt NEWFS 8 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd construct a new UFS1/UFS2 file system .Sh SYNOPSIS .Nm -.Op Fl EJNUjlnt +.Op Fl EJNUjlntu .Op Fl L Ar volname .Op Fl O Ar filesystem-type .Op Fl S Ar sector-size @@ -98,10 +98,20 @@ The default format is UFS2. For backward compatibility. .It Fl U Enable soft updates on the new file system. -Soft updates are enabled by default for UFS2 format file systems. -Use -.Xr tunefs 8 -to disable soft updates if they are not wanted. +If neither +.Fl U +nor +.Fl u +is specified, soft updates are enabled by default for UFS2 format file +systems and disabled otherwise. +.It Fl u +Do not enable soft updates on the new file system. +If neither +.Fl U +nor +.Fl u +is specified, soft updates are enabled by default for UFS2 format file +systems and disabled otherwise. .It Fl a Ar maxcontig Specify the maximum number of contiguous blocks that will be laid out before forcing a rotational delay. @@ -166,6 +176,8 @@ One inode is required for each distinct file, so this value effectively specifies the average file size on the file system. .It Fl j Enable soft updates journaling on the new file system. +This implies +.Fl U . This flag is implemented by running the .Xr tunefs 8 utility found in the user's diff --git a/sbin/newfs/newfs.c b/sbin/newfs/newfs.c index 6e69a6c5437b..27b6c079bc0f 100644 --- a/sbin/newfs/newfs.c +++ b/sbin/newfs/newfs.c @@ -86,7 +86,7 @@ int Lflag; /* add a volume label */ int Nflag; /* run without writing file system */ int Oflag = 2; /* file system format (1 => UFS1, 2 => UFS2) */ int Rflag; /* regression test */ -int Uflag; /* enable soft updates for file system */ +int Uflag = -1; /* enable soft updates for file system */ int jflag; /* enable soft updates journaling for filesys */ int Xflag = 0; /* exit in middle of newfs for testing */ int Jflag; /* enable gjournal for file system */ @@ -139,7 +139,7 @@ main(int argc, char *argv[]) part_name = 'c'; reserved = 0; while ((ch = getopt(argc, argv, - "EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:jk:lm:no:p:r:s:t")) != -1) + "EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:jk:lm:no:p:r:s:tu")) != -1) switch (ch) { case 'E': Eflag = 1; @@ -188,6 +188,9 @@ main(int argc, char *argv[]) case 'U': Uflag = 1; break; + case 'u': + Uflag = 0; + break; case 'X': Xflag++; break; @@ -392,8 +395,8 @@ main(int argc, char *argv[]) opt = FS_OPTSPACE; } /* Use soft updates by default for UFS2 and above */ - if (Oflag > 1) - Uflag = 1; + if (Uflag < 0) + Uflag = Oflag > 1; realsectorsize = sectorsize; if (sectorsize != DEV_BSIZE) { /* XXX */ int secperblk = sectorsize / DEV_BSIZE;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?697e40e1.1ee3a.4a4a92bf>
