git: ab5ef5fb6355 - main - ufs_rename(): do not treat ERELOOKUP specially
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 06 Jul 2022 12:35:19 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=ab5ef5fb6355489e6a960b4d107e6767e2336ea2
commit ab5ef5fb6355489e6a960b4d107e6767e2336ea2
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2022-07-02 13:15:57 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2022-07-06 12:34:28 +0000
ufs_rename(): do not treat ERELOOKUP specially
Delegate handling of it to the top VFS layer, as it is done everywhere.
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
---
sys/ufs/ufs/ufs_vnops.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
index 7e54cf3916c8..976bc31841dd 100644
--- a/sys/ufs/ufs/ufs_vnops.c
+++ b/sys/ufs/ufs/ufs_vnops.c
@@ -1412,18 +1412,8 @@ relock:
(tvp != NULL && (seqc_in_modify(tvp_s) ||
!vn_seqc_consistent(tvp, tvp_s))))) {
error = softdep_prerename(fdvp, fvp, tdvp, tvp);
- if (error != 0) {
- if (error == ERELOOKUP) {
- fdvp_s = vn_seqc_read_any(fdvp);
- fvp_s = vn_seqc_read_any(fvp);
- tdvp_s = vn_seqc_read_any(tdvp);
- if (tvp != NULL)
- tvp_s = vn_seqc_read_any(tvp);
- atomic_add_int(&rename_restarts, 1);
- goto relock;
- }
+ if (error != 0)
goto releout;
- }
}
fdp = VTOI(fdvp);
@@ -1467,11 +1457,6 @@ relock:
vref(tvp);
VOP_VPUT_PAIR(tdvp, &tvp, true);
error = ufs_sync_nlink1(mp);
- if (error == ERELOOKUP) {
- error = 0;
- atomic_add_int(&rename_restarts, 1);
- goto relock;
- }
vrele(fdvp);
vrele(fvp);
vrele(tdvp);
@@ -1620,11 +1605,6 @@ relock:
vref(tvp);
VOP_VPUT_PAIR(tdvp, &tvp, true);
error = ufs_sync_nlink1(mp);
- if (error == ERELOOKUP) {
- error = 0;
- atomic_add_int(&rename_restarts, 1);
- goto relock;
- }
vrele(fdvp);
vrele(fvp);
vrele(tdvp);