Add a mountctl(2) manual page.
authorSascha Wildner <swildner@dragonflybsd.org>
Sat, 9 Feb 2008 00:10:29 +0000 (00:10 +0000)
committerSascha Wildner <swildner@dragonflybsd.org>
Sat, 9 Feb 2008 00:10:29 +0000 (00:10 +0000)
lib/libc/sys/Makefile.inc
lib/libc/sys/mount.2
lib/libc/sys/mountctl.2 [new file with mode: 0644]
sbin/mountctl/mountctl.8

index 6634590..756ceaf 100644 (file)
@@ -1,6 +1,6 @@
 #      @(#)Makefile.inc        8.3 (Berkeley) 10/24/94
 # $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.75.2.7 2003/04/22 17:31:18 trhodes Exp $
-# $DragonFly: src/lib/libc/sys/Makefile.inc,v 1.30 2008/01/10 22:30:27 nth Exp $
+# $DragonFly: src/lib/libc/sys/Makefile.inc,v 1.31 2008/02/09 00:10:29 swildner Exp $
 
 # sys sources
 .PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys ${.CURDIR}/../libc/sys
@@ -80,7 +80,7 @@ MAN+= _exit.2 accept.2 access.2 acct.2 adjtime.2 \
        lwp_create.2 lwp_gettid.2 lwp_kill.2 \
        madvise.2 mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 mmap.2 \
        modfind.2 modnext.2 modstat.2 \
-       mount.2 mprotect.2 msync.2 munmap.2 nanosleep.2 \
+       mount.2 mountctl.2 mprotect.2 msync.2 munmap.2 nanosleep.2 \
        nfssvc.2 ntp_adjtime.2 ntp_gettime.2 \
        open.2 pathconf.2 pipe.2 poll.2 profil.2 ptrace.2 quotactl.2 \
        read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \
index b21c303..c5d133e 100644 (file)
@@ -31,7 +31,7 @@
 .\"
 .\"     @(#)mount.2    8.3 (Berkeley) 5/24/95
 .\" $FreeBSD: src/lib/libc/sys/mount.2,v 1.20.2.8 2003/01/17 22:02:42 joerg Exp $
-.\" $DragonFly: src/lib/libc/sys/mount.2,v 1.5 2007/09/03 17:06:24 dillon Exp $
+.\" $DragonFly: src/lib/libc/sys/mount.2,v 1.6 2008/02/09 00:10:29 swildner Exp $
 .\"
 .Dd May 24, 1995
 .Dt MOUNT 2
@@ -317,6 +317,7 @@ mount can also fail if the maximum number of filesystems are currently
 mounted.
 .Sh SEE ALSO
 .Xr lsvfs 1 ,
+.Xr mountctl 2 ,
 .Xr mfs 8 ,
 .Xr mount 8 ,
 .Xr sysctl 8 ,
diff --git a/lib/libc/sys/mountctl.2 b/lib/libc/sys/mountctl.2
new file mode 100644 (file)
index 0000000..dc86757
--- /dev/null
@@ -0,0 +1,174 @@
+.\"
+.\" Copyright (c) 2008
+.\"    The DragonFly Project.  All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in
+.\"    the documentation and/or other materials provided with the
+.\"    distribution.
+.\" 3. Neither the name of The DragonFly Project nor the names of its
+.\"    contributors may be used to endorse or promote products derived
+.\"    from this software without specific, prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
+.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $DragonFly: src/lib/libc/sys/mountctl.2,v 1.1 2008/02/09 00:10:29 swildner Exp $
+.\"
+.Dd February 8, 2008
+.Os
+.Dt MOUNTCTL 2
+.Sh NAME
+.Nm mountctl
+.Nd execute a mount control operation
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In mountctl.h
+.Ft int
+.Fo mountctl
+.Fa "const char *path"
+.Fa "int op"
+.Fa "int fd"
+.Fa "void *ctl"
+.Fa "int ctllen"
+.Fa "void *buf"
+.Fa "int buflen"
+.Fc
+.Sh DESCRIPTION
+The
+.Fn mountctl
+system call executes the mount control operation
+.Fa op
+on the mount point
+.Fa path .
+An optional file descriptor
+.Fa fd
+can be passed, or set to -1 if unneeded.
+The
+.Fa ctl
+argument is for passing operation specific data and usually points to
+some struct (see
+.Sx CONTROL OPERATIONS
+for further information).
+The data's size is specified by
+.Fa ctllen .
+The
+.Fa buf
+and
+.Fa buflen
+arguments are used if the operation needs to return data to the caller
+or set to
+.Dv NULL
+and 0 if unused.
+.Sh CONTROL OPERATIONS
+The following operations are defined in
+.In mountctl.h :
+.Bl -tag -width indent
+.It Dv MOUNTCTL_SET_EXPORT
+Set export control of a filesystem.
+This operation needs a
+.Vt struct export_args
+passed in
+.Fa ctl .
+Note that export control for numerous filesystems may still only be settable
+with
+.Xr mount 2 .
+New software should attempt to use
+.Fn mountctl
+before using the old
+.Xr mount 2
+method.
+.It Dv MOUNTCTL_INSTALL_VFS_JOURNAL
+Install a journal on a mount point.
+This operation needs a
+.Vt struct mountctl_install_journal
+passed in
+.Fa ctl .
+The journal file must be specified via
+.Fa fd .
+A mount point may have multiple journals attached to it.
+.It Dv MOUNTCTL_REMOVE_VFS_JOURNAL
+Disassociate a journal from a mount point.
+This operation needs a
+.Vt struct mountctl_remove_journal
+passed in
+.Fa ctl .
+.It Dv MOUNTCTL_RESTART_VFS_JOURNAL
+Restart a journal with a new descriptor.
+This operation needs a
+.Vt struct mountctl_restart_journal
+passed in
+.Fa ctl .
+The journal file must be specified via
+.Fa fd .
+.It Dv MOUNTCTL_STATUS_VFS_JOURNAL
+Return a journal's status.
+This operation needs a
+.Vt struct mountctl_status_journal
+passed in
+.Fa ctl
+and an array of
+.Vt struct mountctl_journal_ret_status
+in
+.Fa buf .
+.\" XXX Not yet implemented:
+.\".It Dv MOUNTCTL_INSTALL_BLK_JOURNAL
+.\".It Dv MOUNTCTL_REMOVE_BLK_JOURNAL
+.\".It Dv MOUNTCTL_RESYNC_BLK_JOURNAL
+.\".It Dv MOUNTCTL_RESYNC_VFS_JOURNAL
+.\".It Dv MOUNTCTL_STATUS_BLK_JOURNAL
+.El
+.Sh RETURN VALUES
+.Rv -std
+.Sh ERRORS
+The
+.Fn mountctl
+function will fail when one of the following occurs:
+.Bl -tag -width Er
+.It Bq Er EBADF
+.Fa \&Fd
+is not an active descriptor.
+.It Bq Er EINVAL
+The specified
+.Fa ctllen
+is not 0-1024,
+.Fa buflen
+is not 0-16384, or
+.Fa path
+is
+.Dv NULL .
+.It Bq Er EPERM
+The caller is not the super-user.
+.El
+.Sh SEE ALSO
+.Xr mount 2 ,
+.Xr mountctl 8
+.Sh HISTORY
+The
+.Fn mountctl
+system call first appeared in
+.Dx 1.1 .
+.Sh AUTHORS
+The
+.Fn mountctl
+system call was written by
+.An Matthew Dillon
+and this manual page was written by
+.An Sascha Wildner .
index df507cf..0ccbe23 100644 (file)
@@ -31,7 +31,7 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $DragonFly: src/sbin/mountctl/mountctl.8,v 1.13 2007/05/17 08:19:01 swildner Exp $
+.\" $DragonFly: src/sbin/mountctl/mountctl.8,v 1.14 2008/02/09 00:10:29 swildner Exp $
 .\"
 .Dd January 8, 2005
 .Dt MOUNTCTL 8
@@ -249,6 +249,7 @@ time the flush was issued.
 .\".Sh FILES
 .Sh SEE ALSO
 .Xr mount 2 ,
+.Xr mountctl 2 ,
 .Xr jscan 8
 .Sh CAVEATS
 This utility is currently under construction and not all features have been