git: e64928611b3d - main - unionfs: Sporadic cleanup
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 17 Dec 2025 22:46:28 UTC
The branch main has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=e64928611b3d157608d4fb3906b7362ab98c4ad1
commit e64928611b3d157608d4fb3906b7362ab98c4ad1
Author: Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2025-12-14 23:35:58 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2025-12-17 22:46:04 +0000
unionfs: Sporadic cleanup
Sponsored by: Klara, Inc.
Sponsored by: NetApp, Inc.
---
sys/fs/unionfs/union.h | 5 ++---
sys/fs/unionfs/union_subr.c | 37 ++++++++++++++++++-------------------
sys/fs/unionfs/union_vnops.c | 6 +++---
3 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/sys/fs/unionfs/union.h b/sys/fs/unionfs/union.h
index fe5a578ef4dc..7317bfff534c 100644
--- a/sys/fs/unionfs/union.h
+++ b/sys/fs/unionfs/union.h
@@ -139,9 +139,8 @@ void unionfs_get_node_status(struct unionfs_node *, struct thread *,
struct unionfs_node_status **);
void unionfs_tryrem_node_status(struct unionfs_node *,
struct unionfs_node_status *);
-int unionfs_check_rmdir(struct vnode *, struct ucred *, struct thread *td);
-int unionfs_copyfile(struct vnode *, int, struct ucred *,
- struct thread *);
+int unionfs_check_rmdir(struct vnode *, struct ucred *, struct thread *);
+int unionfs_copyfile(struct vnode *, int, struct ucred *, struct thread *);
int unionfs_copylink(struct vnode *, struct ucred *, struct thread *);
void unionfs_create_uppervattr_core(struct unionfs_mount *, struct vattr *,
struct vattr *, struct thread *);
diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c
index 0774d4fb69be..90be4d6af812 100644
--- a/sys/fs/unionfs/union_subr.c
+++ b/sys/fs/unionfs/union_subr.c
@@ -84,19 +84,19 @@ static void unionfs_deferred_rele(void *, int);
/*
* Initialize
*/
-int
+int
unionfs_init(struct vfsconf *vfsp)
{
UNIONFSDEBUG("unionfs_init\n"); /* printed during system boot */
TASK_INIT(&unionfs_deferred_rele_task, 0, unionfs_deferred_rele, NULL);
- mtx_init(&unionfs_deferred_rele_lock, "uniondefr", NULL, MTX_DEF);
+ mtx_init(&unionfs_deferred_rele_lock, "uniondefr", NULL, MTX_DEF);
return (0);
}
/*
* Uninitialize
*/
-int
+int
unionfs_uninit(struct vfsconf *vfsp)
{
taskqueue_quiesce(taskqueue_unionfs_rele);
@@ -290,7 +290,7 @@ unionfs_nodeget_cleanup(struct vnode *vp, struct unionfs_node *unp)
/*
* Make a new or get existing unionfs node.
- *
+ *
* uppervp and lowervp should be unlocked. Because if new unionfs vnode is
* locked, uppervp or lowervp is locked too. In order to prevent dead lock,
* you should not lock plurality simultaneously.
@@ -709,9 +709,9 @@ unionfs_create_uppervattr(struct unionfs_mount *ump, struct vnode *lvp,
/*
* relookup
- *
+ *
* dvp should be locked on entry and will be locked on return.
- *
+ *
* If an error is returned, *vpp will be invalid, otherwise it will hold a
* locked, referenced vnode. If *vpp == dvp then remember that only one
* LK_EXCLUSIVE lock is held.
@@ -756,7 +756,7 @@ unionfs_relookup(struct vnode *dvp, struct vnode **vpp,
/*
* Update the unionfs_node.
- *
+ *
* uvp is new locked upper vnode. unionfs vnode's lock will be exchanged to the
* uvp's lock and lower's lock will be unlocked.
*/
@@ -875,10 +875,10 @@ unionfs_clear_in_progress_flag(struct vnode *vp, unsigned int flag)
/*
* Create a new shadow dir.
- *
+ *
* dvp and vp are unionfs vnodes representing a parent directory and
* child file, should be locked on entry, and will be locked on return.
- *
+ *
* If no error returned, unp will be updated.
*/
int
@@ -1201,7 +1201,7 @@ unionfs_forward_vop_finish_pair(
/*
* Create a new whiteout.
- *
+ *
* dvp and vp are unionfs vnodes representing a parent directory and
* child file, should be locked on entry, and will be locked on return.
*/
@@ -1259,11 +1259,11 @@ unionfs_mkwhiteout_cleanup:
}
/*
- * Create a new vnode for create a new shadow file.
- *
+ * Create a new regular file on upper.
+ *
* If an error is returned, *vpp will be invalid, otherwise it will hold a
* locked, referenced and opened vnode.
- *
+ *
* unp is never updated.
*/
static int
@@ -1343,8 +1343,8 @@ unionfs_vn_create_on_upper_cleanup:
}
/*
- * Copy from lvp to uvp.
- *
+ * Copy contents of lvp to uvp.
+ *
* lvp and uvp should be locked and opened on entry and will be locked and
* opened on return.
*/
@@ -1410,13 +1410,12 @@ unionfs_copyfile_core(struct vnode *lvp, struct vnode *uvp,
/*
* Copy file from lower to upper.
- *
- * If you need copy of the contents, set 1 to docopy. Otherwise, set 0 to
- * docopy.
+ *
+ * If docopy is non-zero, copy the contents as well.
*
* vp is a unionfs vnode that should be locked on entry and will be
* locked on return.
- *
+ *
* If no error returned, unp will be updated.
*/
int
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
index cefd591a9a0f..63e5cd54ade5 100644
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -1183,7 +1183,7 @@ unionfs_ioctl(struct vop_ioctl_args *ap)
KASSERT_UNIONFS_VNODE(ap->a_vp);
- vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY);
unp = VTOUNIONFS(ap->a_vp);
unionfs_get_node_status(unp, ap->a_td, &unsp);
ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp);
@@ -1210,7 +1210,7 @@ unionfs_poll(struct vop_poll_args *ap)
KASSERT_UNIONFS_VNODE(ap->a_vp);
- vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY);
unp = VTOUNIONFS(ap->a_vp);
unionfs_get_node_status(unp, ap->a_td, &unsp);
ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp);
@@ -3089,7 +3089,7 @@ struct vop_vector unionfs_vnodeops = {
.vop_add_writecount = unionfs_add_writecount,
.vop_vput_pair = unionfs_vput_pair,
.vop_set_text = unionfs_set_text,
- .vop_unset_text = unionfs_unset_text,
+ .vop_unset_text = unionfs_unset_text,
.vop_unp_bind = unionfs_unp_bind,
.vop_unp_connect = unionfs_unp_connect,
.vop_unp_detach = unionfs_unp_detach,