diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2022-01-29 00:55:28 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2022-01-31 14:51:05 +0000 |
commit | 90be4091a76e89bcd6c917e885bd679d66d36458 (patch) | |
tree | f28e0c1e0d81bdcd3d86e0627e7c0a3a9d22acde | |
parent | 66c5fbca7719dca1ac361a010fa511a4514a662d (diff) | |
download | src-90be4091a76e89bcd6c917e885bd679d66d36458.tar.gz src-90be4091a76e89bcd6c917e885bd679d66d36458.zip |
insmntque(9): update and correct man page
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D34071
-rw-r--r-- | share/man/man9/insmntque.9 | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/share/man/man9/insmntque.9 b/share/man/man9/insmntque.9 index ae94d901b755..543c64a2bbe1 100644 --- a/share/man/man9/insmntque.9 +++ b/share/man/man9/insmntque.9 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2008 +.Dd January 29, 2022 .Dt INSMNTQUE 9 .Os .Sh NAME @@ -39,7 +39,7 @@ .Ft int .Fn insmntque "struct vnode *vp" "struct mount *mp" .Ft int -.Fn insmntque1 "struct vnode *vp" "struct mount *mp" "void (*dtr)(struct vnode *, void *)" "void *dtr_arg" +.Fn insmntque1 "struct vnode *vp" "struct mount *mp" .Sh DESCRIPTION The .Fn insmntque @@ -48,32 +48,36 @@ This includes updating .Va v_mount for the vnode, and inserting the vnode into the mount's vnode list. .Pp -The mount reference count is incremented for each vnode added to the +The indirect mount reference count, maintained as the count of the +vnodes owned by it, is incremented for each vnode added to the mount, and that reference is decremented by .Xr vgone 9 . .Pp The mount's interlock is held while the vnode is inserted. -For MP-safe file systems, the vnode must be exclusively locked. +The vnode must be exclusively locked. .Pp On failure, .Fn insmntque -calls +resets vnode' operation vector to the vector of +.Xr deadfs 9 , +clears +.Va v_data , +and then calls .Xr vgone 9 -on the supplied vnode, and then drops the vnode lock and reference. +and +.Xr vput 9 . If more elaborated cleanup after .Fn insmntque failure is needed, the .Fn insmntque1 function may be used instead. -The -.Fa dtr -argument is a pointer to a function that is called on failure. -This function may perform any custom cleanup. -The vnode pointer is supplied as the first argument to -.Fa dtr . -The -.Fa dtr_arg -argument is the second, supplying any additional context needed. +It does not do any cleanup following a failure, leaving all +the work to the caller. +In particular, the operation vector +.Va v_op +and +.Va v_data +fields of the vnode are kept intact. .Sh RETURN VALUES The .Fn insmntque |