Date: Wed, 22 Jun 2022 12:36:47 +0000 From: bugzilla-noreply@freebsd.org To: fs@FreeBSD.org Subject: [Bug 165392] [ufs] [patch] Multiple mkdir/rmdir fails with errno 31 Message-ID: <bug-165392-3630-PdScSmx16p@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-165392-3630@https.bugs.freebsd.org/bugzilla/> References: <bug-165392-3630@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D165392 --- Comment #13 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D8db679af66b023802139d41e275e41a77= da1c515 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(-) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-165392-3630-PdScSmx16p>