summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2002-09-17 08:31:43 +0000
committertruckman <truckman@FreeBSD.org>2002-09-17 08:31:43 +0000
commit82973c0c8b42e23e5ac87b97dae5983c7f67dcba (patch)
tree9aae1817876af3ef6a45413cafdab6c2d801b835 /share
parent2f42fd306123312414667c36c32c8f429bb2b188 (diff)
downloadFreeBSD-src-82973c0c8b42e23e5ac87b97dae5983c7f67dcba.zip
FreeBSD-src-82973c0c8b42e23e5ac87b97dae5983c7f67dcba.tar.gz
Update man page to reflect current implementation.
List all of the error returns shown in the example code in the ERRORS section.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/VOP_LINK.918
1 files changed, 12 insertions, 6 deletions
diff --git a/share/man/man9/VOP_LINK.9 b/share/man/man9/VOP_LINK.9
index 19ccbee..9660f18 100644
--- a/share/man/man9/VOP_LINK.9
+++ b/share/man/man9/VOP_LINK.9
@@ -52,7 +52,8 @@ the vnode of the file to be linked
pathname information about the file
.El
.Pp
-The pathname info must be released on exit.
+The pathname info should NOT be released on exit because it is done
+by the caller.
The directory and file vnodes should NOT be released on exit.
.Sh LOCKS
The directory,
@@ -74,10 +75,8 @@ vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
{
int error = 0;
- if (vp->v_mount != dvp->v_mount) {
- error = EXDEV;
- goto out2;
- }
+ if (vp->v_mount != dvp->v_mount)
+ return (EXDEV);
if (vp != dvp && (error = VOP_LOCK(vp))) {
goto out2;
}
@@ -108,7 +107,6 @@ vop_link(struct vnode *dvp, struct vnode *vp, struct componentname *cnp)
...;
}
- free(cnp->cn_pnbuf, M_NAMEI);
out1:
if (vp != dvp)
VOP_UNLOCK(vp);
@@ -119,9 +117,17 @@ out2:
.Ed
.Sh ERRORS
.Bl -tag -width Er
+.It Bq Er EMLINK
+the file has too many links
+.El
+.Bl -tag -width Er
.It Bq Er EPERM
the file is immutable
.El
+.Bl -tag -width Er
+.It Bq Er EXDEV
+a hard link is not possible between different file systems
+.El
.Sh SEE ALSO
.Xr vnode 9 ,
.Xr vn_lock 9
OpenPOWER on IntegriCloud