git: 7755a406a6ae - main - fusefs: remove the obsolete rename_lock

From: Alan Somers <asomers_at_FreeBSD.org>
Date: Sun, 22 Feb 2026 17:20:05 UTC
The branch main has been updated by asomers:

URL: https://cgit.FreeBSD.org/src/commit/?id=7755a406a6ae3801e885a79f714155f97c4d2bc6

commit 7755a406a6ae3801e885a79f714155f97c4d2bc6
Author:     Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2026-02-10 20:45:23 +0000
Commit:     Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-02-22 17:08:27 +0000

    fusefs: remove the obsolete rename_lock
    
    This lock was included in the original GSoC submission.  Its purpose
    seems to have been to prevent concurrent FUSE_RENAME operations for the
    current mountpoint, as well as to synchronize FUSE_RENAME with
    fuse_vnode_setparent.  But it's obsolete, now that ef6ea91593e added
    mnt_renamelock .
    
    MFC after:      2 weeks
    Sponsored by:   ConnectWise
    Reviewed by:    kib
    Differential Revision: https://reviews.freebsd.org/D55231
---
 sys/fs/fuse/fuse_ipc.c   | 2 --
 sys/fs/fuse/fuse_ipc.h   | 2 --
 sys/fs/fuse/fuse_vnops.c | 2 --
 3 files changed, 6 deletions(-)

diff --git a/sys/fs/fuse/fuse_ipc.c b/sys/fs/fuse/fuse_ipc.c
index f3d92d861352..c24e11a7ff2f 100644
--- a/sys/fs/fuse/fuse_ipc.c
+++ b/sys/fs/fuse/fuse_ipc.c
@@ -550,7 +550,6 @@ fdata_alloc(struct cdev *fdev, struct ucred *cred)
 	TAILQ_INIT(&data->aw_head);
 	data->daemoncred = crhold(cred);
 	data->daemon_timeout = FUSE_DEFAULT_DAEMON_TIMEOUT;
-	sx_init(&data->rename_lock, "fuse rename lock");
 	data->ref = 1;
 
 	return data;
@@ -565,7 +564,6 @@ fdata_trydestroy(struct fuse_data *data)
 		return;
 
 	/* Driving off stage all that stuff thrown at device... */
-	sx_destroy(&data->rename_lock);
 	crfree(data->daemoncred);
 	mtx_destroy(&data->aw_mtx);
 	knlist_delete(&data->ks_rsel.si_note, curthread, 0);
diff --git a/sys/fs/fuse/fuse_ipc.h b/sys/fs/fuse/fuse_ipc.h
index 6fb04fd4ee25..8ceb6bb1fb1a 100644
--- a/sys/fs/fuse/fuse_ipc.h
+++ b/sys/fs/fuse/fuse_ipc.h
@@ -194,8 +194,6 @@ struct fuse_data {
 	 */
 	u_long				ticketer;
 
-	struct sx			rename_lock;
-
 	uint32_t			fuse_libabi_major;
 	uint32_t			fuse_libabi_minor;
 
diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c
index 22d5893d4fbc..49014a1cdd35 100644
--- a/sys/fs/fuse/fuse_vnops.c
+++ b/sys/fs/fuse/fuse_vnops.c
@@ -2272,7 +2272,6 @@ fuse_vnop_rename(struct vop_rename_args *ap)
 		if (err)
 			goto out;
 	}
-	sx_xlock(&data->rename_lock);
 	err = fuse_internal_rename(fdvp, fcnp, tdvp, tcnp);
 	if (err == 0) {
 		if (tdvp != fdvp)
@@ -2280,7 +2279,6 @@ fuse_vnop_rename(struct vop_rename_args *ap)
 		if (tvp != NULL)
 			fuse_vnode_setparent(tvp, NULL);
 	}
-	sx_unlock(&data->rename_lock);
 
 	if (tvp != NULL && tvp != fvp) {
 		cache_purge(tvp);