[Bug 165392] [ufs] [patch] Multiple mkdir/rmdir fails with errno 31
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 22 Jun 2022 12:36:47 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=165392
--- Comment #13 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=8db679af66b023802139d41e275e41a77da1c515
commit 8db679af66b023802139d41e275e41a77da1c515
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2022-06-18 10:59:31 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2022-06-22 12:35:47 +0000
UFS: make mkdir() and link() reliable when using SU and reaching nlink
limit
i_nlink overflow might be transient, i_effnlink indicates the final
value of the link count after all dependencies would be resolved. So if
i_nlink reached the maximum but i_efflink did not, we should be able to
make the link by syncing.
We must sync the whole filesystem to resolve dependencies,
which requires unlocking vnodes locked for VOPs. Use existing
ERELOOKUP/VOP_UNLOCK_PAIR() mechanism to restart the VOP if sync with
unlock was done.
PR: 165392
Reported by: Vsevolod Volkov <vvv@colocall.net>
Reviewed by: mckusick
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D35514
sys/ufs/ufs/ufs_vnops.c | 42 +++++++++++++++++++++++++++++++++++-------
1 file changed, 35 insertions(+), 7 deletions(-)
--
You are receiving this mail because:
You are the assignee for the bug.