aboutsummaryrefslogtreecommitdiff
path: root/sbin/newfs
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/newfs')
-rw-r--r--sbin/newfs/Makefile2
-rw-r--r--sbin/newfs/mkfs.c10
-rw-r--r--sbin/newfs/newfs.812
-rw-r--r--sbin/newfs/newfs.c25
4 files changed, 16 insertions, 33 deletions
diff --git a/sbin/newfs/Makefile b/sbin/newfs/Makefile
index 50834666fba4..1138e819055f 100644
--- a/sbin/newfs/Makefile
+++ b/sbin/newfs/Makefile
@@ -1,5 +1,3 @@
-# @(#)Makefile 8.2 (Berkeley) 3/27/94
-
.PATH: ${SRCTOP}/sys/geom
PACKAGE= ufs
diff --git a/sbin/newfs/mkfs.c b/sbin/newfs/mkfs.c
index b0d178de984e..3715ef58ad0f 100644
--- a/sbin/newfs/mkfs.c
+++ b/sbin/newfs/mkfs.c
@@ -38,12 +38,6 @@
* SUCH DAMAGE.
*/
-#if 0
-#ifndef lint
-static char sccsid[] = "@(#)mkfs.c 8.11 (Berkeley) 5/3/95";
-#endif /* not lint */
-#endif
-#include <sys/cdefs.h>
#define _WANT_P_OSREL
#include <sys/param.h>
#include <sys/disklabel.h>
@@ -95,10 +89,6 @@ static struct csum *fscs;
#define sblock disk.d_fs
#define acg disk.d_cg
-union dinode {
- struct ufs1_dinode dp1;
- struct ufs2_dinode dp2;
-};
#define DIP(dp, field) \
((sblock.fs_magic == FS_UFS1_MAGIC) ? \
(dp)->dp1.field : (dp)->dp2.field)
diff --git a/sbin/newfs/newfs.8 b/sbin/newfs/newfs.8
index e1496af814ca..16bca26f7cd8 100644
--- a/sbin/newfs/newfs.8
+++ b/sbin/newfs/newfs.8
@@ -25,9 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)newfs.8 8.6 (Berkeley) 5/3/95
-.\"
-.Dd October 21, 2022
+.Dd January 23, 2025
.Dt NEWFS 8
.Os
.Sh NAME
@@ -100,6 +98,10 @@ 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.
.It Fl a Ar maxcontig
Specify the maximum number of contiguous blocks that will be
laid out before forcing a rotational delay.
@@ -348,18 +350,18 @@ than the historical defaults
This large fragment size may lead to much wasted space
on file systems that contain many small files.
.Sh SEE ALSO
-.Xr fdformat 8 ,
+.Xr ffs 4 ,
.Xr geom 4 ,
.Xr disktab 5 ,
.Xr fs 5 ,
.Xr camcontrol 8 ,
.Xr dump 8 ,
.Xr dumpfs 8 ,
+.Xr fdformat 8 ,
.Xr fsck 8 ,
.Xr gjournal 8 ,
.Xr gpart 8 ,
.Xr growfs 8 ,
-.Xr gvinum 8 ,
.Xr makefs 8 ,
.Xr mount 8 ,
.Xr newfs_msdos 8 ,
diff --git a/sbin/newfs/newfs.c b/sbin/newfs/newfs.c
index afb71f9f25b4..418319d1cd3a 100644
--- a/sbin/newfs/newfs.c
+++ b/sbin/newfs/newfs.c
@@ -38,18 +38,6 @@
* SUCH DAMAGE.
*/
-#if 0
-#ifndef lint
-static const char copyright[] =
-"@(#) Copyright (c) 1983, 1989, 1993, 1994\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-static char sccsid[] = "@(#)newfs.c 8.13 (Berkeley) 5/1/95";
-#endif /* not lint */
-#endif
-#include <sys/cdefs.h>
/*
* newfs: friendly front end to mkfs
*/
@@ -117,7 +105,6 @@ struct uufsd disk; /* libufs disk structure */
static char device[MAXPATHLEN];
static u_char bootarea[BBSIZE];
static int is_file; /* work on a file, not a device */
-static char *dkname;
static char *disktype;
static void getfssize(intmax_t *, const char *p, intmax_t, intmax_t);
@@ -340,9 +327,7 @@ main(int argc, char *argv[])
if (fstat(disk.d_fd, &st) < 0)
err(1, "%s", special);
if ((st.st_mode & S_IFMT) != S_IFCHR) {
- warn("%s: not a character-special device", special);
is_file = 1; /* assume it is a file */
- dkname = special;
if (sectorsize == 0)
sectorsize = 512;
mediasize = st.st_size;
@@ -356,6 +341,11 @@ main(int argc, char *argv[])
}
pp = NULL;
lp = getdisklabel();
+ /*
+ * set filesystem size from file size when a bsdlabel isn't present
+ */
+ if (lp == NULL && is_file)
+ fssize = mediasize / sectorsize;
if (lp != NULL) {
if (!is_file) /* already set for files */
part_name = special[strlen(special) - 1];
@@ -395,6 +385,9 @@ main(int argc, char *argv[])
fprintf(stderr, "because minfree is less than %d%%\n", MINFREE);
opt = FS_OPTSPACE;
}
+ /* Use soft updates by default for UFS2 and above */
+ if (Oflag > 1)
+ Uflag = 1;
realsectorsize = sectorsize;
if (sectorsize != DEV_BSIZE) { /* XXX */
int secperblk = sectorsize / DEV_BSIZE;
@@ -442,7 +435,7 @@ getdisklabel(void)
bootarea + (0 /* labeloffset */ +
1 /* labelsoffset */ * sectorsize),
&lab, MAXPARTITIONS))
- errx(1, "no valid label found");
+ return (NULL);
lp = &lab;
return &lab;