Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
mount(2)			 System	Calls			      mount(2)

       mount - mount a file system

       #include	<sys/types.h>
       #include	<sys/mount.h>
       #include	<sys/mntent.h>

       int  mount(const	 char *spec, const char	*dir, int mflag, char *fstype,
       char *dataptr, int datalen, char	*optptr, int optlen);

       The mount() function requests that a removable file system contained on
       the  block  special file	identified by spec be mounted on the directory
       identified by dir. The spec and dir  arguments  are  pointers  to  path

       After  a	successful call	to mount(), all	references to the file dir re-
       fer to the root directory on the	mounted	file system. The mounted  file
       system  is  inserted  into the kernel list of all mounted file systems.
       This list can be	examined through the mounted file  system  table  (see

       The  fstype argument is the file	system type name. Standard file	system
       names are defined with the prefix MNTTYPE_ in <sys/mntent.h>.

       The dataptr argument is 0 if no file  system-specific  data  is	to  be
       passed;	otherwise  it  points to an area of size datalen that contains
       the file	system-specific	data for  this	mount  and  the	 MS_DATA  flag
       should be set.

       If  the	MS_OPTIONSTR  flag is set, then	optptr points to a buffer con-
       taining the list	of options to be used for this mount. The optlen argu-
       ment  specifies	the length of the buffer. On completion	of the mount()
       call, the options in effect for the mounted file	system are returned in
       this  buffer.  If  MS_OPTIONSTR	is not specified, then the options for
       this mount will not appear in the mounted file systems table.

       The mflag argument is constructed by a  bitwise-inclusive-OR  of	 flags
       from the	following list,	defined	in <sys/mount.h>.

	     The  dataptr  and datalen arguments describe a block of file sys-
	     tem-specific binary data at address dataptr  of  length  datalen.
	     This is interpreted by file system-specific code within the oper-
	     ating system and its format depends on the	file system type. If a
	     particular	 file  system type does	not require this data, dataptr
	     and datalen should	both be	0.

	     Mount a file system globally if  the  system  is  configured  and
	     booted as part of a cluster (see clinfo(1M)).

	     Prevent programs that are marked set-user-ID or set-group-ID from
	     executing (see chmod(1)). It also causes open(2) to return	 ENXIO
	     when attempting to	open block or character	special	files.

	     The  optptr  and  optlen arguments	describe a character buffer at
	     address optptr of size optlen. When calling mount(), the  charac-
	     ter  buffer should	contain	a null-terminated string of options to
	     be	passed to the file system-specific code	within	the  operating
	     system.  On  a  successful	 return, the file system-specific code
	     will return the list of options recognized. Unrecognized  options
	     are  ignored.  The	format of the string is	a list of option names
	     separated by commas. Options that have values (rather than	binary
	     options  such  as	suid  or nosuid), are separated	by "=" such as
	     dev=2c4046c. Standard option names	are defined in <sys/mntent.h>.
	     Only strings defined in the "C" locale are	supported. The maximum
	     length option string that can be passed to	 or  returned  from  a
	     mount()  call is defined by the MAX_MNTOPT_STR constant. The buf-
	     fer should	be long	enough	to  contain  more  options  than  were
	     passed  in,  as  the  state  of any default options that were not
	     passed in the input option	string may also	 be  returned  in  the
	     recognized	options	list that is returned.

	     Allow  the	file system to be mounted over an existing file	system
	     mounted on	dir, making the	underlying file	 system	 inaccessible.
	     If	 a  mount  is  attempted on a pre-existing mount point without
	     setting this flag,	the mount will fail.

	     Mount the file system for reading only. This flag should also  be
	     specified for file	systems	that are incapable of writing (for ex-
	     ample, CDROM). Without this flag, writing is permitted  according
	     to	individual file	accessibility.

	     Remount a read-only file system as	read-write.

       Upon  successful	 completion, 0 is returned.  Otherwise,	-1 is returned
       and errno is set	to indicate the	error.

       The mount() function will fail if:

       EBUSY The dir argument is currently mounted on,	is  someone's  current
	     working  directory,  or  is otherwise busy; the device associated
	     with spec is currently mounted; or	there are no more mount	 table

	     The spec, dir, fstype, dataptr, or	optptr argument	points outside
	     the allocated address space of the	process.

	     The super block has an invalid magic number or the	 fstype	is in-

       ELOOP Too  many symbolic	links were encountered in translating  spec or

	     The length	of the	path argument exceeds  PATH_MAX, or the	length
	     of	a  path	component exceeds NAME_MAX while _POSIX_NO_TRUNC is in

	     None of the named files exists or is a null pathname.

	     The path argument points to a remote machine and the link to that
	     machine is	no longer active.

	     The file system state in the super-block is not  FsOKAY and mflag
	     requests write permission.

	     The spec argument is not a	block special device.

	     The dir argument is not a directory, or a	component  of  a  path
	     prefix is not a directory.

	     A	global mount is	attempted (the MS_GLOBAL flag is set in	mflag)
	     on	a machine which	is not booted as a cluster or a	local mount is
	     attempted and dir is within a globally mounted file system.

       ENXIO The device	associated with	spec does not exist.

	     The  length of the	option string to be returned in	the optptr ar-
	     gument exceeds the	size of	the buffer specified by	optlen.

       EPERM The effective user	ID is not superuser.

	     The spec argument is remote and cannot be mounted.

       EROFS The spec argument is write	protected  and	mflag  requests	 write

       The  mount()  function can be invoked only by  processes	with superuser

       mount(1M), umount(2), mnttab(4)

       MS_OPTIONSTR-type option	strings	should be used.

       Some flag bits set file system options that can also be	passed	in  an
       option  string.	 Options are first set from the	option string with the
       last setting of an option in the	string determining the value to	be set
       by  the	option	string.	  Any options controlled by flags are then ap-
       plied, overriding any value set by the option string.

SunOS 5.9			  22 Jan 2002			      mount(2)


Want to link to this manual page? Use this URL:

home | help