git: d0692508bc40 - stable/15 - fusefs: remove the obsolete rename_lock
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 26 Mar 2026 15:08:17 UTC
The branch stable/15 has been updated by asomers:
URL: https://cgit.FreeBSD.org/src/commit/?id=d0692508bc40ee7e06609e7421767a6a3d15c5de
commit d0692508bc40ee7e06609e7421767a6a3d15c5de
Author: Alan Somers <asomers@FreeBSD.org>
AuthorDate: 2026-02-10 20:45:23 +0000
Commit: Alan Somers <asomers@FreeBSD.org>
CommitDate: 2026-03-26 15:02:12 +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 .
Sponsored by: ConnectWise
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D55231
(cherry picked from commit 7755a406a6ae3801e885a79f714155f97c4d2bc6)
---
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 bc36f0070d7d..3810313124b6 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 d9d79f38c269..374d0891617d 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 3bfc5396c365..e3d475135c90 100644
--- a/sys/fs/fuse/fuse_vnops.c
+++ b/sys/fs/fuse/fuse_vnops.c
@@ -2193,7 +2193,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)
@@ -2201,7 +2200,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);