diff options
author | truckman <truckman@FreeBSD.org> | 2002-09-17 08:31:43 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2002-09-17 08:31:43 +0000 |
commit | 82973c0c8b42e23e5ac87b97dae5983c7f67dcba (patch) | |
tree | 9aae1817876af3ef6a45413cafdab6c2d801b835 /share | |
parent | 2f42fd306123312414667c36c32c8f429bb2b188 (diff) | |
download | FreeBSD-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.9 | 18 |
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 |