newfs is a "friendly" front-end to the mkfs(1M) program for making UFS file systems on disk partitions. newfs calculates the appropriate parameters to use and calls mkfs.
If run interactively (that is, standard input is a tty), newfs will prompt for confirmation before making the file system.
If the -N option is not specified and the inodes of the device are not randomized, newfs will call fsirand(1M).
You must be super-user to use this command, except when creating a UFS file system on a diskette (see EXAMPLES).
The following options are supported:
Print out the file system parameters that would be used in creating the file system without actually creating the file system. fsirand(1M) is not called here.
Verbose. newfs prints out its actions, including the parameters passed to mkfs.
The number of alternate blocks per cylinder (SCSI devices only) to reserve for bad block replacement. The default is 0.
The logical block size of the file system in bytes (either 4096 or 8192). The default is 8192. The sun4u architecture does not support the 4096 block size.
The number of cylinders per cylinder group (ranging from 16 to 256). The default is calculated by dividing the number of sectors in the file system by the number of sectors in a gigabyte, and then multiplying the result by 32. The default value will always be between 16 and 256. mkfs may override this value. See mkfs_ufs(1M) for details.
Rotational delay. The expected time (in milliseconds) to service a transfer completion interrupt and initiate a new transfer on the same disk. It is used to decide how much rotational spacing to place between successive blocks in a file. This parameter can be subsequently changed using the tunefs(1M) command. The default is disk-type dependent.
The smallest amount of disk space in bytes to allocate to a file. The values must be a power of two selected from the range 512 to the logical block size. If logical block size is 4096, legal values are 512, 1024, 2048 and 4096; if logical block size is 8192, 8192 is also a legal value. The default is 1024.
The number of bytes per inode. This specifies the density of inodes in the file system. The number is divided into the total size of the file system to determine the fixed number of inodes to create. It should reflect the expected average size of files in the file system. If fewer inodes are desired, a larger number should be used; to create more inodes a smaller number should be given. The default for nbpi is as follows:.
Disk size Density -1GB 2048 -2GB 4096 -3GB 6144 3GB- 8192
The minimum percentage of free space to maintain in the file system (between 1% and 99%, inclusively). This space is off-limits to normal users. Once the file system is filled to this threshold, only the super-user can continue writing to the file system. This parameter can be subsequently changed using the tunefs(1M) command.
The default is ((64 Mbytes/partition size) * 100), rounded down to the nearest integer and limited between 1% and 10%, inclusively.
The number of different rotational positions in which to divide a cylinder group. The default is 8.
(space or time). The file system can either be instructed to try to minimize the time spent allocating blocks, or to try to minimize the space fragmentation on the disk. The default is time.
The speed of the disk in revolutions per minute. The default is 3600.
The size of the file system in sectors. The default is to use the entire partition.
The number of tracks per cylinder on the disk. The default is taken from the disk label.
The maximum number of blocks, belonging to one file, that will be allocated contiguously before inserting a rotational delay. The default is determined from the disk drives maximum transfer rate. The maximum maxcontig that UFS supports is 1048576. This parameter can be subsequently changed using the tunefs(1M) command.
This parameter also controls clustering. Regardless of the value of gap, clustering is enabled only when maxcontig is greater than 1. Clustering allows higher I/O rates for sequential I/O and is described in tunefs(1M).
The following operands are supported:
The name of a raw special device residing in /dev/rdsk (for example, /dev/rdsk/c0t0d0s6) on which to create the file system.
See largefile(5) for the description of the behavior of newfs when encountering files greater than or equal to 2 Gbyte ( 231 bytes).
The following example verbosely displays the parameters for the raw special device, c0t0d0s6, but does not actually create a new file system:
example# newfs -Nv /dev/rdsk/c0t0d0s6 mkfs -F ufs -o N /dev/rdsk/c0t0d0s6 1112940 54 15 8192 1024 16 10 60 2048 t 0 -1 8 /dev/rdsk/c0t0d0s6: 1112940 sectors in 1374 cylinders of 15 tracks, 54 sectors 569.8MB in 86 cyl groups (16 c/g, 6.64MB/g, 3072 i/g) super-block backups (for fsck -b #) at: 32, 13056, 26080, 39104, 52128, 65152, 78176, 91200, 104224, . . .
The following example uses the command to create a UFS file system on a diskette that is managed by Volume Manager.
example% newfs /vol/dev/aliases/floppy0 newfs: construct a new file system /vol/dev/aliases/floppy0: (y/n)? y /vol/dev/aliases/floppy0: 2880 sectors in 80 cylinders of 2 tracks, 18 sectors 1.4MB in 5 cyl groups (16 c/g, 0.28MB/g, 128 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 640, 1184, 1792, 2336, . . .
The following exit values are returned:
The operation was successful.
Usage error or internal error. A message is output to STDERR explaining the error.
Other exit values may be returned by mkfs(1M), which is called by newfs.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
The device specified does not exist, or a disk partition was not specified.
You must be super-user to use this command.