diff options
Diffstat (limited to 'usr/src/man/man4fs')
-rw-r--r-- | usr/src/man/man4fs/Makefile | 50 | ||||
-rw-r--r-- | usr/src/man/man4fs/bootfs.4fs | 84 | ||||
-rw-r--r-- | usr/src/man/man4fs/ctfs.4fs | 46 | ||||
-rw-r--r-- | usr/src/man/man4fs/dcfs.4fs | 49 | ||||
-rw-r--r-- | usr/src/man/man4fs/dev.4fs | 83 | ||||
-rw-r--r-- | usr/src/man/man4fs/devfs.4fs | 110 | ||||
-rw-r--r-- | usr/src/man/man4fs/fd.4fs | 84 | ||||
-rw-r--r-- | usr/src/man/man4fs/hsfs.4fs | 253 | ||||
-rw-r--r-- | usr/src/man/man4fs/lofs.4fs | 137 | ||||
-rw-r--r-- | usr/src/man/man4fs/objfs.4fs | 62 | ||||
-rw-r--r-- | usr/src/man/man4fs/pcfs.4fs | 540 | ||||
-rw-r--r-- | usr/src/man/man4fs/sharefs.4fs | 61 | ||||
-rw-r--r-- | usr/src/man/man4fs/smbfs.4fs | 151 | ||||
-rw-r--r-- | usr/src/man/man4fs/tmpfs.4fs | 190 | ||||
-rw-r--r-- | usr/src/man/man4fs/udfs.4fs | 102 | ||||
-rw-r--r-- | usr/src/man/man4fs/ufs.4fs | 269 |
16 files changed, 2271 insertions, 0 deletions
diff --git a/usr/src/man/man4fs/Makefile b/usr/src/man/man4fs/Makefile new file mode 100644 index 0000000000..92d22cc776 --- /dev/null +++ b/usr/src/man/man4fs/Makefile @@ -0,0 +1,50 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet +# at http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011, Richard Lowe +# Copyright 2013 Nexenta Systems, Inc. All rights reserved. +# Copyright 2014 Joyent, Inc. +# + +include $(SRC)/Makefile.master + +MANSECT= 4fs + +MANFILES= bootfs.4fs \ + ctfs.4fs \ + dcfs.4fs \ + dev.4fs \ + devfs.4fs \ + fd.4fs \ + hsfs.4fs \ + lofs.4fs \ + objfs.4fs \ + pcfs.4fs \ + sharefs.4fs \ + smbfs.4fs \ + tmpfs.4fs \ + udfs.4fs \ + ufs.4fs + +MANLINKS= stderr.4fs \ + stdin.4fs \ + stdout.4fs + +stderr.4fs := LINKSRC = fd.4fs +stdin.4fs := LINKSRC = fd.4fs +stdout.4fs := LINKSRC = fd.4fs + +.KEEP_STATE: + +include $(SRC)/man/Makefile.man + +install: $(ROOTMANFILES) $(ROOTMANLINKS) diff --git a/usr/src/man/man4fs/bootfs.4fs b/usr/src/man/man4fs/bootfs.4fs new file mode 100644 index 0000000000..9b336fea51 --- /dev/null +++ b/usr/src/man/man4fs/bootfs.4fs @@ -0,0 +1,84 @@ +.\" +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.\" +.\" +.\" Copyright (c) 2014 Joyent, Inc. All rights reserved. +.\" Copyright 2021 Oxide Computer Company +.\" +.Dd May 8, 2014 +.Dt BOOTFS 4FS +.Os +.Sh NAME +.Nm bootfs +.Nd boot-time module file system +.Sh DESCRIPTION +The +.Nm +file system is a read-only file system that provides access to any +boot-time modules that were passed in to the system loader which were +tagged with the type +.Em file . +.Nm +does not display any boot-time modules that were tagged as type +.Em hash +or type +.Em rootfs . +If modules with duplicate names and paths are specified, only the first +such entry will be present in the file system and a counter will be +incremented to indicate that a duplicate entry was found, but is not +present into the file system. +If a module's name only consists of invalid characters, such as +.Sq . , +.Sq .. , +or +.Sq / , +then the module will not be present in the file system and a counter +will be incremented to indicate that this has occurred. +In both cases, diagnostic information is available through the kstats +facility. +.Sh FILES +.Bl -tag -width Pa +.It Pa /system/boot +The mount point for the +.Nm +file system in the global zone. +.El +.Sh EXAMPLES +.Sy Example 1 +Determining if collisions or invalid names are present +.Pp +To determine if any boot-time modules were not created due to collisions +or invalid names, enter the following command: +.Bd -literal -offset indent +# kstat -m bootfs +module: bootfs instance: 1 +name: bootfs class: fs + crtime 236063.651324041 + nbytes 8749355 + ndirs 3 + ndiscard 0 + ndup 0 + nfiles 2 + snaptime 236063.651324041 +.Ed +The field +.Fa ndiscard +lists the number of boot-time modules that were discarded due to naming +conflicts. +The field +.Fa ndup +lists the number of duplicate entries that were found and therefore not +displayed in the file system. +.Pp +This information is provided for informational purposes only, it is not +to be construed as a stable interface. +.Sh SEE ALSO +.Xr loader 7 , +.Xr kstat 8 diff --git a/usr/src/man/man4fs/ctfs.4fs b/usr/src/man/man4fs/ctfs.4fs new file mode 100644 index 0000000000..111d1b342a --- /dev/null +++ b/usr/src/man/man4fs/ctfs.4fs @@ -0,0 +1,46 @@ +.\" +.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 18, 2004 +.Dt CTFS 4FS +.Os +.Sh NAME +.Nm ctfs +.Nd contract file system +.Sh DESCRIPTION +The +.Nm +filesystem is the interface to the contract sub-system. +.Nm +is mounted during boot at +.Pa /system/contract . +For information on contracts and the contents of this filesystem, see +.Xr contract 5 . +.Sh FILES +.Bl -tag -width Pa +.It Pa /system/contract +Mount point for the +.Nm +file system +.El +.Sh SEE ALSO +.Xr contract 5 , +.Xr vfstab 5 , +.Xr attributes 7 , +.Xr smf 7 diff --git a/usr/src/man/man4fs/dcfs.4fs b/usr/src/man/man4fs/dcfs.4fs new file mode 100644 index 0000000000..20bd84d39b --- /dev/null +++ b/usr/src/man/man4fs/dcfs.4fs @@ -0,0 +1,49 @@ +.\" +.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 28, 2007 +.Dt DCFS 4FS +.Os +.Sh NAME +.Nm dcfs +.Nd Compression file system +.Sh SYNOPSIS +.In sys/filio.h +.In sys/fs/decomp.h +.Sh DESCRIPTION +The +.Nm +filesystem is a layered filesystem that you use to compress data when writing to +a file and decompress upon read. +The primary function of the +.Nm +filesystem is to compress individual files when constructing a boot archive and +when reading or booting from the archive. +.Sh INTERFACE STABILITY +.Sy Uncommitted +.Sh SEE ALSO +.Xr ufs 4FS , +.Xr attributes 7 , +.Xr boot 8 , +.Xr bootadm 8 , +.Xr fiocompress 8 +.Sh NOTES +The +.Nm +compression/decompression file system works only with UFS. diff --git a/usr/src/man/man4fs/dev.4fs b/usr/src/man/man4fs/dev.4fs new file mode 100644 index 0000000000..08f9ecc902 --- /dev/null +++ b/usr/src/man/man4fs/dev.4fs @@ -0,0 +1,83 @@ +.\" +.\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 29, 2021 +.Dt DEV 4FS +.Os +.Sh NAME +.Nm dev +.Nd Device name file system +.Sh DESCRIPTION +The +.Nm +filesystem manages the name spaces of devices in the operating system. +The global zone's instance of the +.Nm +filesystem is mounted during boot on +.Pa /dev . +This filesystem is colloqiually called +.Sq sdev +as a way to distinguish it from the +.Xr devfs 4FS +filesystem mounted at +.Pa /devices . +.Pp +A subdirectory under +.Pa /dev +may have unique operational semantics. +Most of the common device names under +.Pa /dev +are created automatically by +.Xr devfsadm 8 +Others, such as +.Pa /dev/pts , +.Pa /dev/net , +and +.Pa /dev/zvol +are dynamic and reflect the operational state of the system. +You can manually generate device names for newly attached hardware by invoking +.Xr devfsadm 8 +or implicitly, by indirectly causing a lookup or readdir operation in the +filesystem to occur. +For example, you can discover a disk that was attached when the system was +powered down (and generate a name for that device) by invoking +.Xr format 8 . +.Pp +In a non-global zone, the +.Nm +filesystem is also mounted at +.Pa /dev ; +however, it is generally speaking read-only. +Unlike in the global zone, a privileged user in a non-global zone cannot create +directories or files, directories, or other objects within the filesystem. +.Sh FILES +.Bl -tag -width Pa +.It Pa /dev +Mount point for the +.Nm +filesystem in the global zone and non-global zones. +.El +.Sh SEE ALSO +.Xr devfs 4FS , +.Xr devfsadm 8 , +.Xr format 8 +.Sh NOTES +The global +.Pa /dev +instance cannot be unmounted. diff --git a/usr/src/man/man4fs/devfs.4fs b/usr/src/man/man4fs/devfs.4fs new file mode 100644 index 0000000000..022eb6c755 --- /dev/null +++ b/usr/src/man/man4fs/devfs.4fs @@ -0,0 +1,110 @@ +.\" +.\" Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright 2021 Oxide compuer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 29, 2021 +.Dt DEVFS 4FS +.Os +.Sh NAME +.Nm devfs +.Nd Devices file system +.Sh DESCRIPTION +The +.Nm +filesystem manages a name space of all devices in the operating environment and +is mounted during boot on the +.Pa /devices +name space. +.Pp +The +.Pa /devices +name space is dynamic and reflects the current state of accessible devices. +The names of all attached device instances are present under +.Pa /devices . +.Pp +The content under +.Pa /devices +is under the exclusive control of the +.Nm +filesystem and cannot be changed. +.Pp +The system may be configured to include a device in one of two ways: +.Bl -enum +.It +By means of dynamic reconfiguration +.Pq DR , +using, for example, +.Xr cfgadm 8 . +Several different hardware buses such as PCIe and USB automatically discover and +enumerate devices that they encounter. +.It +For devices driven by +.Xr driver.conf 5 +enumeration, edit the +.Pa driver.conf +file to add a new entry, then use +.Xr update_drv 8 +to cause the system to re-read the +.Pa driver.conf +file and thereby enumerate the instance. +.El +.Pp +The device may be attached through a number of system calls and programs, +including +.Xr open 2 , +.Xr stat 2 , +and +.Xr ls 1 . +During device attach, the device driver typically creates minor nodes +corresponding to the device via +.Xr ddi_create_minor_node 9F . +If the attach is successful, one or more minor nodes referring to the device are +created under +.Pa /devices . +.Pp +Operations like +.Xr mknod 2 , +.Xr mkdir 2 , +and +.Xr creat 2 +are not supported in +.Pa /devices . +.Pp +This file system is not present in a non-global zone. +.Sh FILES +.Bl -tag -width Pa +.It Pa /devices +Mount point for +.Nm +file system in the global zone. +.El +.Sh SEE ALSO +.Xr vfstab 5 , +.Xr devfsadm 8 , +.Xr attach 9E +.Sh NOTES +The +.Pa /devices +name space cannot be unmounted. +.Pp +All content at or below the +.Pa /devices +name space is an implementation +artifact and subject to incompatible change or removal without notification. +Generally, user programs should leverage the device name space under +.Pa /dev . diff --git a/usr/src/man/man4fs/fd.4fs b/usr/src/man/man4fs/fd.4fs new file mode 100644 index 0000000000..4b51bff7ac --- /dev/null +++ b/usr/src/man/man4fs/fd.4fs @@ -0,0 +1,84 @@ +.\" +.\" Copyright (c) 1993, Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright 1989 AT&T +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd July 3, 1990 +.Dt FD 4FS +.Os +.Sh NAME +.Nm fd , +.Nm stdin , +.Nm stdout , +.Nm stderr +.Nd file descriptor files +.Sh DESCRIPTION +These files, conventionally called +.Pa /dev/fd/0 , +.Pa /dev/fd/1 , +.Pa /dev/fd/2 , +and so on, refer to files accessible through file descriptors. +If file descriptor +.Em n +is open, these two system calls have the same +effect: +.Bd -literal -offset indent +fd = open("/dev/fd/<n>", mode); +fd = dup(n); +.Ed +.Pp +On these files +.Xr creat 2 +is equivalent to +.Xr open 2 , +and +.Fa mode +is +ignored. +As with +.Xr dup 2 , +subsequent reads or writes on +.Em fd +fail unless the original file descriptor allows the operations. +.Pp +For convenience in referring to standard input, standard output, and standard +error, an additional set of names is provided: +.Pa /dev/stdin +is a synonym +for +.Pa /dev/fd/0 , +.Pa /dev/stdout +for +.Pa /dev/fd/1 , +and +.Pa /dev/stderr +for +.Pa /dev/fd/2 . +.Sh DIAGNOSTICS +.Xr open 2 +returns +.Sy -1 +and +.Va errno +is set to +.Er EBADF +if the associated file descriptor is not open. +.Sh SEE ALSO +.Xr creat 2 , +.Xr dup 2 , +.Xr open 2 diff --git a/usr/src/man/man4fs/hsfs.4fs b/usr/src/man/man4fs/hsfs.4fs new file mode 100644 index 0000000000..9d0eb57c1e --- /dev/null +++ b/usr/src/man/man4fs/hsfs.4fs @@ -0,0 +1,253 @@ +.\" +.\" Copyright (c) 2006, Sun Microsystems, Inc. +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 1, 2006 +.Dt HSFS 4FS +.Os +.Sh NAME +.Nm hsfs +.Nd High Sierra & ISO 9660 CD-ROM file system +.Sh DESCRIPTION +.Nm +is a file system type that allows users to access files on High Sierra or ISO +9660 format CD-ROM disks from within the SunOS operating system. +Once mounted, a +.Nm +file system provides standard read-only file system operations and semantics, +meaning that you can read and list files in a directory on a High Sierra or ISO +9660 CD-ROM and applications can use standard UNIX system calls on these files +and directories. +.Pp +This file system contains support for Rock Ridge, ISO 9660 Version 2 and Joliet +extensions. +These extensions provide support for file names with a length of at least 207 +bytes, but only Rock Ridge extensions +.Pq with the exception of writability and hard links +can provide file system semantics and file types as they are found in UFS. +The presence of Rock Ridge, ISO 9660 Version 2, and Joliet is autodetected and +the best-suitable available extension is used by the HSFS driver for file name +and attribute lookup. +.Pp +If your +.Pa /etc/vfstab +file contains a line similar to the following: +.Bd -literal +/dev/dsk/c0t6d0s0 - /hsfs hsfs - no ro +.Ed +.Pp +and +.Pa /hsfs +exists, you can mount an +.Nm +file system with either of the following commands: +.Bd -literal -offset indent +mount -F hsfs -o ro device-special directory-name +.Ed +or +.Bd -literal -offset indent +mount /hsfs +.Ed +.Pp +By default, Rock Ridge extensions are used if available, otherwise ISO 9660 +Version 2, then Joliet are used. +If neither extension is present HSFS defaults to the standard capabilities of +ISO 9660. +Since so-called hybrid CD-ROMs that contain multiple extensions are possible, +you can use the following mount options to deliberately disable the search for a +specific extension or to force the use of a specific extension even if a +preferable type is present: +.Bd -literal +mount -F hsfs -o ro,nrr device-special directory-name +.Ed +.Pp +Mount options are: +.Bl -tag -width Ds +.It rr +Request HSFS to use Rock Ridge extensions, if present. +This is the default behavior and does not need to be explicitly specified. +.It nrr +Disable detection and use of Rock Ridge extensions, even if present. +.It vers2 +Request HSFS to use ISO 9660 Version 2 extensions, even if Rock Ridge is +available. +.It novers2 +Disable detection and use of ISO 9660 Version 2 extensions. +.It joliet +Request HSFS to use Joliet extensions, even if Rock Ridge or ISO 9660 Version 2 +extensions are available. +.It nojoliet +Disable detection and use of Joliet extensions. +.El +.Pp +Files on a High Sierra or ISO 9660 CD-ROM disk have names of the form +.Pa filename.ext;versio , +where +.Fa filename +and the optional +.Fa ext +consist of a sequence of uppercase alphanumeric characters +.Po +including +.Sq _ +.Pc , +while the +.Fa version +consists of a sequence of digits, representing the version number of the file. +.Nm +converts all the uppercase characters in a file name to lowercase, and truncates +the +.Sq ; +and version information. +If more than one version of a file is present on the CD-ROM, only the file with +the highest version number is accessible. +.Pp +Conversion of uppercase to lowercase characters may be disabled by using the +.Fl o +.Ar nomaplcase +option to +.Xr mount 8 . +See +.Xr mount_hsfs 8 . +.Pp +If the CD-ROM contains Rock Ridge, ISO 9660 version 2 or Joliet extensions, the +file names and directory names may contain any character supported under +.Xr UFS 4FS . +The names may also be upper and/or lower case and are case sensitive. +File name lengths can be as long as those of +.Xr UFS 4FS . +.Pp +Files accessed through +.Nm +have mode 555 +.Pq owner, group and world readable and executable , +uid 0 and gid 3. If a directory on the CD-ROM has read permission, +.Nm +grants execute permission to the directory, allowing it to be searched. +.Pp +With Rock Ridge extensions, files and directories can have any permissions that +are supported on a +.Xr UFS 4FS +file system. +However, under all write permissions, the file system is read-only, with +.Er EROFS +returned to any write operations. +.Pp +Like High Sierra and ISO 9660 CD-ROMs, HSFS supports only regular files and +directories. +A Rock Ridge CD-ROM can support regular files, directories, and symbolic links, +as well as device nodes, such as block, character, and FIFO. +.Sh EXAMPLES +.Sy Example 1 +Sample Display of File System Files +.Pp +If there is a file +.Pa BIG.BAR +on a High Sierra or ISO 9660 format CD-ROM it will show up as +.Pa big.bar +when listed on a +.Nm +file system. +.Pp +If there are three files +Pa BAR.BAZ;1 , +Pa BBAR.BAZ;2 , +and +.Pa BAR.BAZ;3 +on a High Sierra or ISO 9660 format CD-ROM, only the file +.Pa BAR.BAZ;3 +will be accessible. +It will be listed as +.Pa bar.baz . +.Sh DIAGNOSTICS +.Bl -tag -width Ds +.It "hsfs: Warning: the file system... does not conform to the ISO-9660 spec" +The specific reason appears on the following line. +You might be attempting to mount a CD-ROM containing a different file system, +such as +.Xr UFS 4FS +.It "hsfs: Warning: the file system... contains a file [with an] unsupported" +type" +The +.Nm +file system does not support the format of some file or directory on the CD-ROM, +for example a record structured file. +.It "hsfs: hsnode table full, %d nodes allocated" +There are not enough +.Nm +internal data structure elements to handle all the files currently open. +This problem may be overcome by adding a line of the form +.Ql set hsfs:nhsnode=number +to the +.Pa /etc/system +system configuration file and rebooting. +See +.Xr system 5 . +.El +.Sh SEE ALSO +.Xr vfstab 5 , +.Xr mount 8 , +.Xr mount_hsfs 8 +.Pp +.Rs +.%A N. V. Phillips +.%A Sony Corporation +.%T System Description Compact Disc Digital Audio, ("Red Book") +.Re +.Rs +.%A N. V. Phillips +.%A Sony Corporation +.%T System Description of Compact Disc Read Only Memory, ("Yellow Book") +.Re +.Rs +.%T Volume and File Structure of CD-ROM for Information Interchange +.%N ISO 9660:1988(E) +.Re +.Sh WARNINGS +Do not physically eject a CD-ROM while the device is still mounted as a +.Nm +file system. +.Pp +Under MS-DOS +.Pq for which CD-ROMs are frequently targeted , +files with no extension may be represented either as: +.Pa filename\&. +or +.Pa filename +that is, with or without a trailing period. +These names are not equivalent under UNIX systems. +For example, the names: +.Pa BAR\&. +and +.Pa BAR +are not names for the same file under the UNIX system. +This may cause confusion if you are consulting documentation for CD-ROMs +originally intended for MS-DOS systems. +.Pp +Use of the +.Fl o +.Ar notraildot +option to +.Xr mount 8 +makes it optional to specify the trailing dot. +See +.Xr mount_hsfs 8 . +.Sh NOTES +No translation of any sort is done on the contents of High Sierra or ISO 9660 +format CD-ROMs; only directory and file names are subject to interpretation by +.Nm . diff --git a/usr/src/man/man4fs/lofs.4fs b/usr/src/man/man4fs/lofs.4fs new file mode 100644 index 0000000000..6a216afbc3 --- /dev/null +++ b/usr/src/man/man4fs/lofs.4fs @@ -0,0 +1,137 @@ +.\" +.\" Copyright 2014 Nexenta Systems, Inc. All Rights Reserved. +.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 24, 2014 +.Dt LOFS 4FS +.Os +.Sh NAME +.Nm lofs +.Nd loopback virtual file system +.Sh SYNOPSIS +.In sys/param.h +.In sys/mount.h +.Ft int +.Fo mount +.Fa "const char *dir" +.Fa "const char *virtual" +.Fa "int mflag" +.Fa \(dqlofs\(dq , +.Fa NULL , +.Fa 0 +.Fc +.Sh DESCRIPTION +The loopback file system device allows new, virtual file systems to be created, +which provide access to existing files using alternate pathnames. +Once the virtual file system is created, other file systems can be mounted +within it, without affecting the original file system. +However, file systems which are subsequently mounted onto the original file +system +.Em are +visible to the virtual file system, unless or until the corresponding mount +point in the virtual file system is covered by a file system mounted there. +.Pp +.Fa virtual +is the mount point for the virtual file system. +.Fa dir +is the pathname of the existing file system. +.Fa mflag +specifies the mount options; the +.Dv MS_DATA +bit in +.Fa mflag +must be set. +If the +.Dv MS_RDONLY +bit in +.Fa mflag +is not set, accesses to the loop back file system are the same as for the +underlying file system. +Otherwise, all accesses in the loopback file system will be read-only. +All other +.Xr mount 2 +options are inherited from the underlying file systems. +.Pp +A loopback mount of +.Pa / +onto +.Pa /tmp/newroot +allows the entire file system hierarchy to appear as if it were duplicated under +.Pa /tmp/newroot , +including any file systems mounted from remote NFS servers. +All files would then be accessible either from a pathname relative to +.Pa / +or from a pathname relative to +.Pa /tmp/newroot +until such time as a file system is mounted in +.Pa /tmp/newroot +or any of its subdirectories. +.Pp +Loopback mounts of +.Pa / +can be performed in conjunction with the +.Xr chroot 2 +system call, to provide a complete virtual file system to a process or family of +processes. +.Pp +Recursive traversal of loopback mount points is not allowed. +After the loopback mount of +.Pa /tmp/newroot , +the file +.Pa /tmp/newroot/tmp/newroot +does not contain yet another file system hierarchy; rather, it appears just as +.Pa /tmp/newroot +did before the loopback mount was performed +.Pq for example, as an empty directory . +.Sh EXAMPLES +.Nm +file systems are mounted using: +.Bd -literal -offset indent +mount -F lofs /tmp /mnt +.Ed +.Sh SEE ALSO +.Xr chroot 2 , +.Xr mount 2 , +.Xr sysfs 2 , +.Xr lofi 4D , +.Xr vfstab 5 , +.Xr lofiadm 8 , +.Xr mount 8 +.Sh NOTES +All access to entries in +.Nm +mounted file systems map to their underlying file system. +If a mount point is made available in multiple locations via +.Nm +and is busy in any of those locations, an attempt to mount a file system at that +mount point fails unless the overlay flag is specified. +See +.Xr mount 8 . +Examples of a mount point being busy within a +.Nm +mount include having a file system mounted on it or it being a processes' +current working directory. +.Sh WARNINGS +Because of the potential for confusing users and applications, you should use +loopback mounts with care. +A loopback mount entry in +.Pa /etc/vfstab +must be placed after the mount points of both directories it depends on. +This is most easily accomplished by making the loopback mount entry the last in +.Pa /etc/vfstab . diff --git a/usr/src/man/man4fs/objfs.4fs b/usr/src/man/man4fs/objfs.4fs new file mode 100644 index 0000000000..c20f2a86c3 --- /dev/null +++ b/usr/src/man/man4fs/objfs.4fs @@ -0,0 +1,62 @@ +.\" +.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 29, 2021 +.Dt OBJFS 4FS +.Os +.Sh NAME +.Nm objfs +.Nd Kernel object filesystem +.Sh DESCRIPTION +The +.Nm +filesystem describes the state of all modules currently loaded +by the kernel. +It is mounted during boot at +.Pa /system/object . +.Pp +The contents of the filesystem are dynamic and reflect the current state of the +system. +Each module is represented by a directory containing a single file, +.Sq object' . +The object file is a read only ELF file which contains information about the +object loaded in the kernel. +.Pp +The kernel may load and unload modules dynamically as the system runs. +As a result, applications may observe different directory contents in +.Pa /system/object +if they repeatedly rescan the directory. +If a module is unloaded, its associated +.Pa /system/object +files disappear from the hierarchy and subsequent attempts to open them, or to +read files opened before the module unloaded, elicits an error. +.Pp +This file system is generally not present in a non-global zone. +.Sh FILES +.Bl -tag -width Pa +.It Pa /system/object +Mount point for objfs file system in the global zone. +.El +.Sh Interface Stability +.Sy Private +.Sh SEE ALSO +.Xr vfstab 5 +.Sh NOTES +The content of the ELF files is private to the implementation and subject to +change without notice. diff --git a/usr/src/man/man4fs/pcfs.4fs b/usr/src/man/man4fs/pcfs.4fs new file mode 100644 index 0000000000..2b51e2032b --- /dev/null +++ b/usr/src/man/man4fs/pcfs.4fs @@ -0,0 +1,540 @@ +.\" +.\" Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved. +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 29, 2021 +.Dt PCFS 4FS +.Os +.Sh NAME +.Nm pcfs +.Nd FAT formatted file system +.Sh SYNOPSIS +.In sys/param.h +.In sys/mount.h +.In sys/fs/pc_fs.h +.Ft int +.Fo mount +.Fa "const char *spec" +.Fa "const char *dir" +.Fa "int mflag" +.Fa \(dqpcfs\(dq +.Fa NULL +.Fa 0 +.Fa "const char *optptr" +.Fa "int optlen" +.Fc +.Sh DESCRIPTION +.Nm +is a file system type that enables direct access to files on FAT formatted disks +from within the SunOS operating system. +.Pp +Once mounted, +.Nm +provides standard file operations and semantics. +Using +.Nm +you can create, delete, read, and write files on a FAT formatted disk. +You can also create and delete directories and list files in a directory. +.Pp +.Nm +supports FAT12 (floppies) and FAT16 and FAT32 file systems. +.Pp +.Nm +file systems can be force umounted using the +.Fl -f +argument to +.Xr umount 8 . +.Pp +The +.Nm +file system contained on the block special file identified by +.Fa spec +is mounted on the directory identified by +.Fa dir . +.Fa spec +and +.Fa dir +are pointers to pathnames. +.Fa mflag +specifies the +.Fa mount +options. +The +.Dv MS_DATA +bit in +.Fa mflag +must be set. +Mount options can be passed to +.Nm +using the optptr and optlen arguments. +See +.Xr mount_pcfs 8 +for a list of mount options supported by +.Nm +.Pp +Because FAT formatted media can record file timestamps between January 1st 1980 +and December 31st 2127, it's not possible to fully represent UNIX +.Vt time_t +in +.Nm +for 32 bit or 64 bit programs. +In particular, if post-2038 timestamps are present on a FAT formatted medium and +.Nm +returns these, 32bit applications may unexpectedly fail with +.Er EOVERFLOW +errors. +To prevent this, the default behaviour of +.Nm +has been modified to clamp +post-2038 timestamps to the latest possible value for a 32bit +.Vt time_t , +which is January 19th 2038, 03:14:06 UTC when setting and retrieving file +timestamps. +You can override this behavior using the +.Ar noclamptime +mount option, as described in +.Xr mount_pcfs 8 . +.Pp +Timestamps on FAT formatted media are recorded in local time. +If the recording and receiving systems use different timezones, the +representation of timestamps shown on the two systems for the same medium might +vary. +To correct this, +.Nm +provides a timezone mount option to force interpretation +of timestamps as read from a FAT formatted medium in a given timezone +.Pq that of the recorder . +By default, the local timezone of the receiver is used. +See +.Xr mount_pcfs 8 +for details. +.Pp +The root directory of a FAT formatted medium has no timestamps and +.Nm +returns the time when the mount was done as timestamp for the root of the +filesystem. +.Pp +The FAT filesystem doesn't support multiple links. +As a result, the link count +for all files and directories in +.Nm +is hard-coded as +.Dq 1 . +.Ss Mounting File Systems +Use the following command to mount +.Nm +from diskette: +.Bd -literal -offset indent +mount -F pcfs device-special directory-name +.Ed +.Pp +You can use: +.Bd -literal -offset indent +mount directory-name +.Ed +if the following line is in your +.Pa /etc/vfstab +file: +.Bd -literal -offset indent +device-special - directory-name pcfs - no rw +.Ed +.Pp +Use the following command to mount +.Nm +from non-diskette media: +.Bd -literal -offset indent +mount -F pcfs device-special:logical-drive directory-name +.Ed +.Pp +You can use: +.Bd -literal -offset indent +mount directory-name +.Ed +if the following line is in your +.Pa /etc/vfstab +file: +.Bd -literal -offset indent +device-special:logical_drive - directory-name pcfs - no rw +.Ed +.Pp +.Ar device-special +specifies the special block device file for the diskette +.Pq Pa /dev/disketteN +or the entire hard disk +.Po +Pa /dev/dsk/cNtNdNp0 +for a SCSI, SATA, NVME disk, and +.Pa /dev/dsk/cNdNp0 +for IDE disks +.Pc +or the PCMCIA pseudo-floppy memory card +.Pq Pa /dev/dsk/cNtNdNsN . +.Pp +.Ar logical-drive +specifies either the DOS logical drive letter +.Po +.Sy c +through +.Sy z +.Pc +or a drive number +.Pq 1 through 24 . +Drive letter +.Sy c +is equivalent to drive number +.Sy 1 +and represents the Primary DOS partition on the disk; drive letters +.Sy d +through +.Sy z +are equivalent to drive numbers +.Sy 2 +through +.Sy 24 , +and represent DOS drives within the Extended FAT partition. +Note that +.Ar device-special +and +.Ar logical-drive +must be separated by a colon. +.Pp +.Ar directory-name +specifies the location where the file system is mounted. +.Pp +For example, to mount the Primary DOS partition from a SCSI hard disk, +use: +.Bd -literal -offset indent +mount -F pcfs /dev/dsk/cNtNdNp0:c /pcfs/c +.Ed +.Pp +To mount the first logical drive in the Extended DOS partition from an IDE hard +disk, use: +.Bd -literal -offset indent +mount -F pcfs /dev/dsk/cNdNp0:d /pcfs/d +.Ed +.Pp +To mount a DOS diskette in the first floppy drive when volume management is not +running use: +.Bd -literal -offset indent +mount -F pcfs /dev/diskette /pcfs/a +.Ed +.Pp +If Volume Management is running, run +.Xr volcheck 1 +to automatically mount the floppy and some removable disks. +.Pp +To mount a PCMCIA pseudo-floppy memory card, with Volume Management not running +.Pq or not managing the PCMCIA media , +use: +.Bd -literal -offset indent +mount -F pcfs /dev/dsk/cNtNdNsN /pcfs +.Ed +.Ss "Conventions" +Files and directories created through +.Nm +must comply with either the FAT short file name convention or the long file name +convention introduced with Windows 95. +The FAT short file name convention is of the form +.Pa filename[.ext] , +where +.Em filename +generally consists of from one to eight upper-case characters, while the +optional +.Em ext +consists of from one to three upper-case characters. +.Pp +The long file name convention is much closer to illumos file names. +A long file name can consist of any characters valid in a short file name, +lowercase letters, non-leading spaces, the characters +.Sy +,;=[] , +any number of periods, and can be up to 255 characters long. +Long file names have an associated short file name for systems that do not +support long file names. +The short file name is not visible if the system recognizes long file names. +.Nm +generates a unique short name automatically when creating a long file name. +.Pp +Given a long file name such as +.Pa This is a really long filename.TXT , +the short file name will generally be of the form +.Pa THISIS~N\&.TXT , +where +.Em N +is a number. +The long file name will probably get the short name +.Pa THISIS~1.TXT , +or +.Pa THISIS~2.TXT +if +.Pa THISIS~1.TXT +already exits +.Po or +.Pa THISIS~3.TXT +if both exist, and so forth +.Pc . +If you use +.Nm +file systems on systems that do not support long file names, you may want to +continue following the short file name conventions. +See +.Sx EXAMPLES . +.Pp +When creating a file name, +.Nm +creates a short file name if it fits the FAT short file name format, otherwise +it creates a long file name. +This is because long file names take more directory space. +Because the root directory of a +.Nm +file system is fixed size, long file names in the root directory should be +avoided if possible. +.Pp +When displaying file names, +.Nm +shows them exactly as they are on the media. +This means that short names are displayed as uppercase and long file names +retain their case. +Earlier versions of +.Nm +folded all names to lowercase, which can be forced with the +.Dv PCFS_MNT_FOLDCASE +mount option. +All file name searches within +.Nm , +however, are treated as if they were uppercase, so +.Pa readme.txt +and +.Pa ReAdMe.TxT +refer to the same file. +.Pp +To format a diskette or a PCMCIA pseudo-floppy memory card in FAT format in the +SunOS system, use either the +.Xr fdformat 1 +.Fl -d +or the DOS +.Sy FORMAT +command. +.Ss Boot Partitions +On x86 systems, hard drives may contain an fdisk partition reserved for the boot +utilities. +The most common case is the EFI system partition. +These partitions are special instances of +.Nm . +You can mount an x86 boot partition with the command: +.Bd -literal -offset indent +mount -F pcfs device-special:boot directory-name +.Ed +or you can use: +.Bd -literal -offset indent +mount directory-name +.Ed +if the following line is in your +.Pa /etc/vfstab +file: +.Bd -literal -offset indent +device-special:boot - directory-name pcfs - no rw +.Ed +.Pp +.Ar device-special +specifies the special block device file for the entire hard disk +.Pq Pa /dev/dsk/cNtNdNp0 +.Pp +.Ar directory-name +specifies the location where the file system is mounted. +.Pp +All files on a boot partition are owned by super-user. +Only the super-user may create, delete, or modify files on a boot partition. +.Sh ENVIRONMENT +See +.Xr environ 7 +for descriptions of the following environment variables +for the current locale setting: +.Ev LANG , +.Ev LC_ALL , +.Ev LC_CTYPE , +and +.Ev LC_COLLATE . +.Sh FILES +.Bl -tag -width Pa +.It Pa /usr/lib/fs/pcfs/mount +.Nm +mount command. +.It Pa /usr/kernel/fs/amd64/pcfs +64-bit kernel module (x86). +.El +.Sh EXAMPLES +.Sy Example 1 +Sample Displays of File Names +.Pp +If you copy a file +.Pa financial.data +from a UNIX file system to +.Nm , +it displays as +.Pa financial.data +in +.Nm +but may show up as +.Pa FINANC~1.DAT +in systems that do not support long file names. +.Pp +The following are legal long file names. +They are also illegal short file names: +.Bl -item -offset indent +.It +.Pa test.sh.orig +.It +.Pa data+ +.El +.Pp +Other systems that do not support long file names may see: +.Bl -item -offset indent +.It +.Pa TESTSH~1.ORI +.It +.Pa DATA~1 +.It +.Pa LOGIN~1 +.El +The short file name is generated from the initial characters of the long file +name, so differentiate names in the first few characters. +For example, these names: +.Bl -item -offset indent +.It +.Pa WorkReport.January.Data +.It +.Pa WorkReport.February.Data +.It +.Pa WorkReport.March.Data +.El +result in these short names, which are not distinguishable: +.Bl -item -offset indent +.It +.Pa WORKRE~1.DAT +.It +.Pa WORKRE~2.DAT +.It +.Pa WORKRE~2.DAT +.It +.Pa WORKRE~2.DAT +.It +.Pa WORKRE~13.DAT +.El +.Pp +These names, however: +.Bl -item -offset indent +.It +.Pa January.WorkReport.Data +.It +.Pa February.WorkReport.Data +.It +.Pa March.WorkReport.Data +.El +result in the more descriptive short names: +.Bl -item -offset indent +.It +.Pa JANUAR~1.DAT +.It +.Pa FEBRUA~1.DAT +.It +.Pa MARCHW~1.DAT +.El +.Sh SEE ALSO +.Xr chgrp 1 , +.Xr chown 1 , +.Xr dos2unix 1 , +.Xr eject 1 , +.Xr fdformat 1 , +.Xr unix2dos 1 , +.Xr volcheck 1 , +.Xr ctime 3C , +.Xr vfstab 5 , +.Xr environ 7 , +.Xr mount 8 , +.Xr mount_pcfs 8 , +.Xr umount 8 +.Sh WARNINGS +Do not physically eject a FAT floppy while the device is mounted as +.Nm +If Volume Management is managing a device, use the +.Xr eject 1 +command before physically removing media. +.Pp +When mounting +.Nm +on a hard disk, make sure the first block on that device contains a valid fdisk +partition table. +.Pp +Because +.Nm +has no provision for handling owner-IDs or group-IDs on files, +.Xr chown 1 +or +.Xr chgrp 1 +may generate various errors. +This is a limitation of +.Nm +but it should not cause problems other than error messages. +.Sh NOTES +Only the following characters are allowed in +.Nm +short file names and extensions: +.Bl -item -offset indent +.It +0-9 +.It +A-Z +.It +$#&@!%()-{}<>`_^~|' +.It +.El +illumos and FAT use different character sets and have different +requirements for the text file format. +Use the +.Xr dos2unix 1 +and +.Xr unix2dos 1 +commands to convert files between them. +.Pp +.Nm +offers a convenient transportation vehicle for files between multiple systems. +Because the FAT disk format was designed for use under DOS, it does not operate +efficiently under illumos and should not be used as the format for a regular +local storage. +Instead, use ZFS for local storage within an illumos system. +.Pp +Although long file names can contain spaces +(just as in UNIX file names) , +some utilities may be confused by them. +.Pp +When +.Nm +encounters long file names with non-ASCII characters, it converts such long file +names in Unicode scalar values into UTF-8 encoded filenames so that they are +legible and usable with any of illumos UTF-8 locales. +In the same context, when new file names with non-ASCII characters are created, +.Nm +expects that such file names are in UTF-8. +This feature increases the interoperability of +.Nm +on illumos with other operating +systems. +.Sh BUGS +.Nm +should handle the disk change condition in the same way that DOS does, so you do +not need to unmount the file system to change floppies. diff --git a/usr/src/man/man4fs/sharefs.4fs b/usr/src/man/man4fs/sharefs.4fs new file mode 100644 index 0000000000..384fbf8ef1 --- /dev/null +++ b/usr/src/man/man4fs/sharefs.4fs @@ -0,0 +1,61 @@ +.\" +.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.\" Copyright 2020 Joyent, Inc. +.\" Copyright 2021 Oxide Computer Company +.Dd February 4, 2020 +.Dt SHAREFS 4FS +.Os +.Sh NAME +.Nm sharefs +.Nd Kernel sharetab filesystem +.Sh DESCRIPTION +The +.Nm +filesystem describes the state of all shares currently loaded by the kernel, and +shared by the invoking zone. +It is mounted during boot time as a read-only file at +.Pa /etc/dfs/sharetab . +.Pp +Filesystem contents are dynamic and reflect the current set of shares in the +zone. +File contents are described in +.Xr sharetab 5 . +.Pp +File contents can be modified as a result of +.Xr share 8 , +.Xr sharectl 8 , +.Xr sharemgr 8 , +and changing properties of a +.Xr zfs 8 +data set. +.Pp +The module may not be unloaded dynamically by the kernel. +.Sh FILES +.Bl -tag -width Pa +.It Pa /etc/dfs/sharetab +System record of shared file systems. +.El +.Sh SEE ALSO +.Xr sharetab 5 , +.Xr zones 7 , +.Xr share 8 , +.Xr sharectl 8 , +.Xr sharemgr 8 , +.Xr zfs 8 diff --git a/usr/src/man/man4fs/smbfs.4fs b/usr/src/man/man4fs/smbfs.4fs new file mode 100644 index 0000000000..ddb368da6e --- /dev/null +++ b/usr/src/man/man4fs/smbfs.4fs @@ -0,0 +1,151 @@ +.\" +.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd September 9, 2009 +.Dt SMBFS 4FS +.Os +.Sh NAME +.Nm smbfs +.Nd CIFS/SMB file system +.Sh DESCRIPTION +The +.Nm +file system allows you to mount CIFS shares that are exported from Windows or +compatible systems. +SMB is the historical name for the CIFS protocol, which stands for Server +Message Block and is more commonly used in technical contexts. +.Pp +The +.Nm +file system permits ordinary UNIX applications to change directory into an +.Nm +mount and perform simple file and directory operations. +Supported operations include +.Xr open 2 , +.Xr close 2 , +.Xr read 2 , +.Xr write 2 , +.Xr rename 2 , +.Xr rm 1 , +.Xr mkdir 1 , +.Xr rmdir 1 , +and +.Xr ls 1 . +.Ss Limitations +Some local UNIX file systems +.Pq for example UFS +have features that are not supported by +.Nm . +These include: +.Bl -bullet -offset indent +.It +No mapped-file access because +.Xr mmap 2 +returns +.Er ENOSYS . +.It +Locking is +.Sy local only +and is not sent to the server. +.El +.Pp +The following are limitations in the CIFS protocol: +.Bl -bullet -offset indent +.It +.Xr unlink 2 +or +.Xr rename 2 +of open files returns +Er EBUSY . +.It +.Xr rename 2 +of extended attribute files returns +.Er EINVAL . +.It +Creation of files with any of the following illegal characters returns +.Er EINVAL : +colon +.Pq \&: , +backslash +.Pq \e , +slash +.Pq / , +asterisk +.Pq * , +question mark +.Pq \&? , +double quote +.Pq \(dq , +less than +.Pq \(la , +greater than +.Pq \(ra , +and vertical bar +.Pq | . +.It +.Xr chmod 2 +and +.Xr chown 2 +settings are silently discarded. +.It +Links are not supported. +.It +Symbolic links are not supported. +.It +.Xr mknod 2 +is not supported. +.Pq Only file and directory objects are supported. +.El +.Pp +The current +.Nm +implementation does not support multi-user mounts. +Instead, each Unix user needs to make their own private mount points. +.Pp +Currently, all access through an +.Nm +mount point uses the Windows credentials established by the user that ran the +.Xr mount 8 +command. +Normally, permissions on +.Nm +mount points should be +.Sy 0700 +to prevent Unix users from using each others' Windows credentials. +See the +.Ar dirperms +option to +.Xr mount_smbfs 8 +for details regarding how to control +.Nm +mount point permissions. +.Pp +An important implication of this limitation is that system-wide mounts, such as +those made using +.Pa /etc/vfstab +or automount maps are only useful in cases where access control is not a +concern, such as for public read-only resources. +.Sh INTERFACE STABILITY +.Sy Uncommitted +.Sh SEE ALSO +.Xr smbutil 1 , +.Xr nsmbrc 5 , +.Xr attributes 7 , +.Xr mount 8 , +.Xr mount_smbfs 8 diff --git a/usr/src/man/man4fs/tmpfs.4fs b/usr/src/man/man4fs/tmpfs.4fs new file mode 100644 index 0000000000..ee3bdfd777 --- /dev/null +++ b/usr/src/man/man4fs/tmpfs.4fs @@ -0,0 +1,190 @@ +.\" +.\" Copyright (c) 1990, Sun Microsystems, Inc. +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd October 9, 1990 +.Dt TMPFS 4FS +.Os +.Sh NAME +.Nm tmpfs +.Nd memory based file system +.Sh SYNOPSIS +.In sys/mount.h +.Fo mount +.Fa "const char *special" +.Fa "const char *directory" +.Fa IMS_DATA +.Fa \(dqtmpfs\(dq +.Fa NULL +.Fa 0 +.Fc +.Sh DESCRIPTION +.Nm +is a memory based file system which uses kernel resources relating to the VM +system and page cache as a file system. +Once mounted, a +.Nm +file system provides standard file operations and semantics. +.Nm +is so named because files and directories are not preserved across +reboot or unmounts, all files residing on a +.Nm +file system that is unmounted will be lost. +.Pp +.Nm +file systems can be mounted with the command: +.Bd -literal -offset indent +mount -F tmpfs swap directory +.Ed +.Pp +Alternatively, to mount a +.Nm +file system on +.Pa /tmp +at multi-user startup time +.Pq maximizing possible performance improvements , +add the following line to +.Pa /etc/vfstab : +.Bd -literal -offset indent +swap \(mi/tmp tmpfs \(mi yes \(mi +.Ed +.Pp +.Nm +is designed as a performance enhancement which is achieved by caching the writes +to files residing on a +.Nm +file system. +Performance improvements are most noticeable when a large number of short lived +files are written and accessed on a +.Nm +file system. +Large compilations with +.Nm +mounted on +.Pa /tmp +are a good example of this. +.Pp +Users of +.Nm +should be aware of some constraints involved in mounting a +.Nm +file system. +The resources used by +.Nm +are the same as those used when commands are executed +.Pq for example, swap space allocation . +This means that large sized +.Nm +files can affect the amount of space left over for programs to execute. +Likewise, programs requiring large amounts of memory use up the space available +to +.Nm +Users running into this constraint +.Po +for example, running out of space on +.Nm +.Pc +can allocate more swap space by using the +.Xr swap 8 +command. +.Pp +Another constraint is that the number of files available in a +.Nm +file system is calculated based on the physical memory of the machine and not +the size of the swap device/partition. +If you have too many files, +.Nm +will print a warning message and you will be unable to create new files. +You cannot increase this limit by adding swap space. +.Pp +Normal file system writes are scheduled to be written to a permanent storage +medium along with all control information associated with the file +.Pq for example, modification time, file permissions . +.Nm +control information resides only in memory and never needs to be written to +permanent storage. +File data remains in core until memory demands are sufficient to cause pages +associated with +.Nm +to be reused at which time they are copied out to swap. +.Pp +An additional mount option can be specified to control the size of an individual +.Nm +file system. +See +.Xr mount_tmpfs 8 +for more details. +.Sh DIAGNOSTICS +If +.Nm +runs out of space, one of the following messages will display in the console. +.Bl -tag -width Ds +.It "directory: File system full, swap space limit exceeded" +This message appears because a page could not be allocated while writing to a +file. +This can occur if +.Nm +is attempting to write more than it is allowed, or if currently executing +programs are using a lot of memory. +To make more space available, remove unnecessary files, exit from some programs, +or allocate more swap space using +.Xr swap 8 . +.It "directory: File system full, memory allocation failed" +.Nm +ran out of physical memory while attempting to create a new file or +directory. +Remove unnecessary files or directories or install more physical memory. +.El +.Sh SEE ALSO +.Xr mmap 2 , +.Xr mount 2 , +.Xr umount 2 , +.Xr vfstab 5 , +.Xr df 8 , +.Xr mount 8 , +.Xr mount_tmpfs 8 , +.Xr swap 8 +.Sh WARNINGS +Files and directories on a +.Nm +file system are not preserved across reboots or unmounts. +Command scripts or programs which count on this will not work as expected. +.Sh NOTES +Compilers do not necessarily use +/tmp +to write intermediate files therefore missing some significant performance +benefits. +This can be remedied by setting the environment variable +.Ev TMPDIR to +.Pa /tmp . +Compilers use +the value in this environment variable as the name of the directory to store +intermediate files. +.Pp +.Sy swap +to a +.Nm +file is not supported. +.Pp +.Xr df 8 +output is of limited accuracy since a +.Nm +file system size +is not static and the space available to +.Nm +is dependent on the swap space demands of the entire system. diff --git a/usr/src/man/man4fs/udfs.4fs b/usr/src/man/man4fs/udfs.4fs new file mode 100644 index 0000000000..df5a3da979 --- /dev/null +++ b/usr/src/man/man4fs/udfs.4fs @@ -0,0 +1,102 @@ +.\" +.\" Copyright (c) 1999 Sun Microsystems, Inc. +.\" All Rights Reserved. +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd June 20, 2021 +.Dt UDFS 4FS +.Os +.Sh NAME +.Nm udfs +.Nd universal disk format file system +.Sh DESCRIPTION +The +.Nm +file system is a file system type that allows user access to files on Universal +Disk Format (UDF) disks from within illumos. +Once mounted, a +.Nm +file system provides standard file system operations and semantics. +That is, users can read files, write files, and list files in a directory on a +UDF device and applications can use standard UNIX system calls on these files +and directories. +.Pp +Because +.Nm +is a platform-independent file system, the same media can be written to and read +from by any operating system or vendor. +.Ss "Mounting File Systems" +.Nm +file systems are mounted using: +.Bd -literal -offset indent +mount -F udfs -o rw/ro device-special +.Ed +.Pp +Use: +.Bd -literal -offset indent +mount /udfs +.Ed +if the +.Nm +and device special file +.Pa /dev/dsk/c0t6d0s0 +are valid and the following line +.Pq or similar line +appears in your +Pa /etc/vfstab +file: +.Bd -literal -offset indent +/dev/dsk/c0t6d0s0 - /udfs udfs - no ro +.Ed +.Pp +The +.Nm +file system provides read-only support for ROM, RAM, and sequentially-recordable +media and read-write support on RAM media. +.Pp +The +.Nm +file system also supports regular files, directories, and symbolic links, as +well as device nodes such as block, character, FIFO, and Socket. +.Sh SEE ALSO +.Xr vfstab 5 , +.Xr mount 8 , +.Xr mount_udfs 8 +.Sh NOTES +Invalid characters such as +.Dq \e0 +and +.Dq / +and invalid file names +such as +.Dq \ . +.Dq \&. +and +.Dq \&.\&. +will be translated according to the following rule: +.Pp +Replace the invalid character with an +.Dq _ , +then append the file name with +.Dq # +followed by a 4 digit hex representation of the 16-bit CRC of the original +.Sy FileIdentifier . +For example, the file name +.Dq \&.\&. +will become +.Dq __#4C05 . diff --git a/usr/src/man/man4fs/ufs.4fs b/usr/src/man/man4fs/ufs.4fs new file mode 100644 index 0000000000..41e9091b04 --- /dev/null +++ b/usr/src/man/man4fs/ufs.4fs @@ -0,0 +1,269 @@ +.\" +.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 1989 AT&T +.\" Copyright 2021 Oxide Computer Company +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.Dd November 29, 2021 +.Dt UFS 4FS +.Os +.Sh NAME +.Nm ufs +.Nd UFS file system +.Sh SYNOPSIS +.In sys/param.h +.In sys/types.h +.In sys/fs/ufs_fs.h +.In sys/fs/ufs_inode.h +.Sh DESCRIPTION +.Nm +is one of the primary default disk-based file systems for illumos. +The UFS file system is hierarchical, starting with its root directory +.Pq Pa / +and continuing downward through a number of directories. +The root of a UFS file system is +.Sy inode 2 . +A UFS file system's root contents replace the contents of the directory upon +which it is mounted. +.Pp +Subsequent sections of this manpage provide details of the UFS file systems. +.Ss State Flags Pq Fa fs_state , Fa fs_clean +UFS uses state flags to identify the state of the file system. +.Fa fs_state +is +.Dv FSOKAY - +.Fa fs_time . +.Fa fs_time +is the timestamp that indicates when the last system write occurred. +.Fa fs_state +is updated whenever +.Fa fs_clean +changes. +Some +.Fa fs_clean +values are: +.Bl -tag -width Ds +.It Dv FSCLEAN +Indicates an undamaged, cleanly unmounted file system. +.It Dv FSACTIVE +Indicates a mounted file system that has modified data in memory. +A mounted file system with this state flag indicates that user data or metadata +would be lost if power to the system is interrupted. +.It Dv FSSTABLE +Indicates an idle mounted file system. +A mounted file system with this state flag indicates that neither user data nor +metadata would be lost if power to the system is interrupted. +.It Dv FSBAD +Indicates that this file system contains inconsistent file system data. +.It Dv FSLOG +Indicates that the file system has logging enabled. +A file system with this flag set is either mounted or unmounted. +If a file system has logging enabled, the only flags that it can have are +.Dv FSLOG +or +.Dv FSBAD . +A non-logging file system can have +.Dv FSACTIVE , +.Dv FSSTABLE , +or +.Dv FSCLEAN . +.Pp +It is not necessary to run the +.Sy fsck +command on unmounted file systems with a state of +.Dv FSCLEAN , +.Dv FSSTABLE , +or +.Dv FSLOG . +.Xr mount 2 +returns +.Dv ENOSPC +if an attempt is made to mount a UFS file system with a state of +.Dv FSACTIVE +for read/write access. +.Pp +As an additional safeguard, +.Fa fs_clean +should be trusted only if +.Fa fs_state +contains a value equal to +.Dv FSOKAY - +.Fa fs_time , +where +.Dv FSOKAY +is a constant integer defined in the +.Pa /usr/include/sys/fs/ufs_fs.h +file. +Otherwise, +.Fa fs_clean +is treated as though it contains the value of +.Dv FSACTIVE . +.El +.Ss Extended Fundamental Types (EFT) +Extended Fundamental Types +.Pq EFT +provide 32-bit user ID +.Pq UID , +group ID +.Pq GID , +and device numbers. +.Pp +If a UID or GID contains an extended value, the short variable +.Po +.Fa ic_suid , +.Fa ic_sgid +.Pc +contains the value 65535 and the corresponding UID or GID is in +.Fa ic_uid +or +.Fa ic_gid . +Because numbers for block and character devices are stored in the first direct +block pointer of the inode +.Pq Fa ic_db[0] +and the disk block addresses are already 32 bit values, no special encoding +exists for device numbers +.Pq unlike UID or GID fields . +.Ss Multiterabyte File System +A multiterabyte file system enables creation of a UFS file system up to +approximately 16 terabytes of usable space, minus approximately one percent +overhead. +A sparse file can have a logical size of one terabyte. +However, the actual amount of data that can be stored in a file is approximately +one percent less than one terabyte because of file system overhead. +.Pp +On-disk format changes for a multiterabyte UFS file system include: +.Bl -bullet -offset indent +.It +The magic number in the superblock changes from +.Dv FS_MAGIC +to +.Dv MTB_UFS_MAGIC . +For more information, see the +.Pa /usr/include/sys/fs/ufs_fs.h +file. +.It +The +.Fa fs_logbno +unit is a sector for UFS that is less than 1 terabyte in +size and fragments for a multiterabyte UFS file system. +.El +.Ss UFS Logging +UFS logging bundles the multiple metadata changes that comprise a complete UFS +operation into a transaction. +Sets of transactions are recorded in an on-disk log and are applied to the +actual UFS file system's metadata. +.Pp +UFS logging provides two advantages: +.Bl -enum +.It +A file system that is consistent with the transaction log eliminates the +need to run +.Sy fsck +after a system crash or an unclean shutdown. +.It +UFS logging often provides a significant performance improvement. +This is because a file system with logging enabled converts multiple updates to +the same data into single updates, thereby reducing the number of overhead disk +operations. +.El +.Pp +The UFS log is allocated from free blocks on the file system and is sized at +approximately 1 Mbyte per 1 Gbyte of file system, up to 256 Mbytes. +The log size may be larger (up to a maximum of 512 Mbytes), depending upon the +number of cylinder groups present in the file system. +The log is continually flushed as it fills up. +The log is also flushed when the file system is unmounted or as a result of a +.Xr lockfs 8 +command. +.Ss Mounting UFS File Systems +You can mount a UFS file system in various ways using syntax similar to the +following: +.Bl -enum +.It +Use +.Xr mount 8 +from the command line: +.Bd -literal -offset indent +# mount -F ufs /dev/dsk/c0t0d0s7 /export/home +.Ed +.It +Include an entry in the +.Pa /etc/vfstab +file to mount the file system at boot time: +.Bd -literal -offset indent +/dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - +.Ed +.El +.Pp +For more information on mounting UFS file systems, see +.Xr mount_ufs 8 . +.Sh INTERFACE STABILITY +.Sy Uncomitted +.Sh SEE ALSO +.Xr mount 2 , +.Xr attributes 7 , +.Xr df 8 , +.Xr fsck 8 , +.Xr fsck_ufs 8 , +.Xr fstyp 8 , +.Xr lockfs 8 , +.Xr mkfs_ufs 8 , +.Xr newfs 8 , +.Xr tunefs 8 , +.Xr ufsdump 8 , +.Xr ufsrestore 8 +.Sh NOTES +For information about internal UFS structures, see +.Xr newfs 8 +and +.Xr mkfs_ufs 8 . +For information about dumping and restoring file systems, see +.Xr ufsdump 8 , +.Xr ufsrestore 8 , +and +.Pa /usr/include/protocols/dumprestore.h . +If you experience difficulty in allocating space on the ufs filesystem, it may +be due to fragmentation. +Fragmentation can occur when you do not have sufficient free blocks to satisfy +an allocation request even though +.Xr df 8 +indicates that enough free space is available. +(This may occur because df only uses the available fragment count to calculate +available space, but the file system requires contiguous sets of fragments for +most allocations). +If you suspect that you have exhausted contiguous fragments on your file system, +you can use the +.Xr fstyp 8 +utility with the +.Fl v +option. +In the fstyp output, look at the +.Em nbfree +.Pq number of blocks free +and +.Fa nffree +.Pq (number of fragments free) +fields. +On unmounted filesystems, you can use +.Xr fsck 8 +and observe the last line of output, which reports, among other items, the +number of fragments and the degree of fragmentation. +To correct a fragmentation problem, run +.Xr ufsdump 8 +and +.Xr ufsrestore 8 +on the ufs filesystem. |