unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



mount(2)							     mount(2)



NAME

  mount, umount	- Mounts or unmounts a file system

SYNOPSIS

  #include <&lt;sys/mount.h>&gt;
  mount(
	  int type,
	  char *mnt-path,
	  int mnt_flag,
	  caddr_t data );
  umount(
	  char *mnt-path,
	  int umnt_flag	);

PARAMETERS

  type	    Defines the	type of	the file system.  The types of recognized
	    file systems are:

	    MOUNT_UFS
		Berkeley's UNIX	File System

	    MOUNT_NFS
		Network	File System, Version 2 protocol

	    MOUNT_MFS
		Memory File System (RAM	disk)

	    MOUNT_PC
		PC File	System

	    MOUNT_S5FS
		System V File System

	    MOUNT_CDFS
		Compact	Disk File System (see cdfs(4))

	    MOUNT_DVDFS
		Digital	Versatile Disk File System (see	dvdfs(4))

	    MOUNT_DFS
		Distributed File System	(layered product)

	    MOUNT_EFS
		DCE Episode File System	(layered product)

	    MOUNT_PROCFS
		/proc File System (used	by debuggers)

	    MOUNT_MSFS
		Advanced File System (AdvFS)

	    MOUNT_FFM
		File on	File Mounting File System (used	by streams)

	    MOUNT_FDFS
		File Descriptor	File System (used by streams)

	    MOUNT_ADDON
		Reserved for third-party file systems

	    MOUNT_NFS3
		Network	File System, Version 3 protocol

  mnt-path  Points to a	null-terminated	string that contains the appropriate
	    pathname.

  mnt_flag  Specifies which semantics should be	used when accessing the	file
	    system.  Valid flags are:

	    M_ADL     Causes all files in the mounted fileset to use atomic-
		      write data logging.  See the description of the adl
		      mount option in mount(8) for more	information.

	    M_RDONLY  The file system should be	treated	as read	only; no
		      writing is allowed (even by a process with appropriate
		      privilege).  Physically write-protected and magnetic
		      tape file	systems	must be	mounted	read only or errors
		      will occur when access times are updated,	whether	or
		      not any explicit write is	attempted.

	    M_NOEXEC  Do not allow files to be executed	from the file system.

	    M_NOSUID  Do not honor setuid or setgid bits on files when exe-
		      cuting them.

	    M_NODEV   Do not interpret special files on	the file system.

	    M_SYNCHRONOUS
		      All I/O to the file system should	be done	synchro-
		      nously.

	    M_FMOUNT  Forcibly mount, even if the file system is unclean.

	    M_UPDATE  The mount	command	is being applied to an already
		      mounted file system.  This allows	the mount flags	to be
		      changed without requiring	that the file system be
		      unmounted	and remounted.

	    M_GRPID   All new files and	directories will inherit the group ID
		      of the parent.  When this	is not specified, SVID III
		      semantics	apply, for example, if the parent directory's
		      mode bits	include	the parent's group ID.	If IS_GID is
		      off, then	it inherits the	processes group	ID.

	    M_NOATIMES
		      Do not update access time	on object for read opera-
		      tions.

	    M_SMSYNC2 Enable alternate smoothsync policy, in which dirty data
		      does not get written to disk until it is dirty and not
		      modified for the last smoothsync_age period.  The
		      default smoothsync_age period is 30 seconds, and is
		      configurable via sysconfig(8).

	    Some file systems may not allow all	flags to be changed.  For
	    example, most file systems do not allow a change from read/write
	    to read only.

  data	    Points to a	structure that contains	the type-specific parameters
	    to mount.

  umnt_flag Specifies one of the following values:

	    MNT_FORCE Performs a fast unmount that causes remote file systems
		      to be unmounted without notifying	the server.

DESCRIPTION

  Except in the	case of	file-on-file mounting, the mount() function mounts a
  file system on the directory pointed to by the mnt-path parameter.  Follow-
  ing the mount, references to mnt-path	refer to the root of the newly
  mounted file system.

  The mnt-path parameter must point to a directory or file that	already
  exists.

  For file-on-file mounting, the mount() function mounts a file	specified by
  the data parameter onto another file specified by the	mnt-path parameter.
  The file specified by	the data parameter cannot be a directory file; other-
  wise either file may be of any type.	The mnt-path cannot already have a
  file system or another file mounted on it.

  The umount() function	unmounts a file	system mounted at the directory
  pointed to by	the mnt-path parameter.	 The associated	directory reverts to
  its ordinary interpretation.

  Except for file-on-file mounting and Network File System (NFS) file system
  mounts, to call either the mount() or	umount() function, the calling pro-
  cess must have superuser privilege.

RESTRICTIONS

  The mount function supports mount point argument pathnames of	up to
  MNAMELEN, which includes the null terminating	character.  MNAMELEN can be
  up to	90 characters long, including the null terminating character.

NOTES

  Two mount() functions	are supported by Tru64 UNIX: the BSD mount() and the
  System V mount().  The default mount() function is the BSD mount() docu-
  mented on this reference page.  The operating	system does not	support	the
  System V lmount function.

  For third-party file system support, functionality has been added to query
  the mount command by file system name	in order to obtain the corresponding
  file system type.  Once the file system type is obtained, it can then	be
  used in a standard call to the mount command to mount	the file system.

  To access this functionality,	invoke the mount command with type as -1,
  mnt_path as NULL, mnt_flag as	0, and data pointing to	the address of a
  vfsops_fsname_args structure.	 This structure	is defined in the sys/mount.h
  file and contains two	fields;	the first field	is a string representing the
  file system name to search for, the second field is a	return index.  If the
  specified file system	name is	found, the structure's return index field
  will be set to the corresponding type.

RETURN VALUES

  The mount() function returns 0 (zero)	if the file system was successfully
  mounted.  Otherwise, -1 is returned.	The mount can fail if the mnt-path
  parameter does not exist or is of the	wrong type.

  For an Advanced File System (AdvFS), the mount can fail if the domain	or
  fileset (or both) specified in the data parameter does not exist or is
  inaccessible.

  For a	UNIX File System (UFS),	the mount can fail if the special device
  specified in the ufs_args structure is inaccessible, is not an appropriate
  file,	or is already mounted.	The same failure can occur for a PROCFS	file
  system.  A mount can also fail if there are already too many file systems
  mounted, either systemwide or	for a specific file system type.

  For the query	by name	functionality (for third-party file systems), the
  mount() function returns 0 (zero) if the file	system name was	found; other-
  wise,	-1 is returned.

  The umount() function	returns	0 (zero) if the	file system was	successfully
  unmounted.  Otherwise, -1 is returned.  The unmount will fail	if there are
  active files in the mounted file system, unless the MNT_FORCE	flag is	set
  and the file system supports forcible	unmounting.

ERRORS

  If the mount() function fails, errno may be set to one of the	following
  values:

  [EPERM]   The	caller does not	have appropriate privilege.

  [ENAMETOOLONG]
	    A component	of a pathname exceeded NAME_MAX	characters, or an
	    entire pathname exceeded PATH_MAX characters.

  [ELOOP]   Too	many symbolic links were encountered in	translating a path-
	    name.

  [EMFILE]  No space remains in	the mount table.

  [ENODEV]  The	file system is invalid or not installed.

  [ENOENT]  A component	of the mnt-path	parameter does not exist.

  [ENOTDIR] A component	of the name parameter is not a directory, or a path
	    prefix of the special parameter is not a directory.

  [EINVAL]  A pathname contains	a character with the high-order	bit set, or
	    the	file system name in the	query by name functionality is
	    invalid.

  [EBUSY]   Another process currently holds a reference	to the mnt-path
	    parameter.

  [EDIRTY]  The	file system is not clean and M_FORCE is	not set.

  [EFAULT]  The	mnt-path parameter points outside the process' allocated
	    address space.

  The following	errors can occur for a UFS file	system mount:

  [ENOTBLK] The	fspec field is not a block device.

  [ENXIO]   The	major device number of fspec is	out of range (this indicates
	    no device driver exists for	the associated hardware).

  [EBUSY]   The	device pointed to by the fspec field is	already	mounted.

  [EINVAL]  The	superblock for the file	system had a bad magic number or an
	    out-of-range block size.

  [ENOMEM]  Not	enough memory was available to read the	cylinder group infor-
	    mation for the file	system.

  [EIO]	    An I/O error occurred while	reading	the superblock or cylinder
	    group information.

  [EFAULT]  The	fspec field points outside the process'	allocated address
	    space.

  The following	errors can occur for an	NFS-compatible file system mount:

  [ETIMEDOUT]
	    NFS	timed out trying to contact the	server.

  [EFAULT]  Some part of the information described by nfs_args points outside
	    the	process' allocated address space.

  The following	errors can occur for a PROCFS file system mount:

  [EBUSY]   The	device pointed to by the fspec field is	already	mounted.

  [EMFILE]  No space remains in	the mount table.

  [EFAULT]  The	fspec field points outside the process's allocated address
	    space.

  [ENFILE]  Free vnodes	are not	available.

  [ENOMEM]  Memory is insufficient for the /proc directory table.

  If the umount() function fails, errno	may be set to one of the following
  values:

  [EPERM]   The	caller does not	have appropriate privilege.

  [ENOTDIR] A component	of the path is not a directory.

  [EINVAL]  The	pathname contains a character with the high-order bit set.

  [ENAMETOOLONG]
	    A component	of a pathname exceeded NAME_MAX	characters, or an
	    entire pathname exceeded PATH_MAX characters.

  [ELOOP]   Too	many symbolic links were encountered in	translating the	path-
	    name.

  [EINVAL]  The	requested directory is not in the mount	table.

  [EBUSY]   A process is holding a reference to	a file located on the file
	    system.

  [EIO]	    An I/O error occurred while	writing	cached file system informa-
	    tion.

  [EFAULT]  The	mnt-path parameter points outside the process' allocated
	    address space.

FILES

  /usr/include/sys/mount.h

RELATED	INFORMATION

  Functions: mount(2sv)


  Commands: mount(8)