[Bug 165392] [ufs] [patch] Multiple mkdir/rmdir fails with errno 31
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 Jun 2022 11:07:51 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=165392 Konstantin Belousov <kib@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kib@FreeBSD.org, | |mckusick@FreeBSD.org, | |pho@FreeBSD.org --- Comment #12 from Konstantin Belousov <kib@FreeBSD.org> --- I do not think it is enough to fsync() only the directory, as jh' patch cleanly illustrates. What it does is significant portion of VFS_SYNC() anyway, so it is cleaner to just do VFS_SYNC() and pay the cost of syncing data even if not strictly necessary. OTOH it is not safe to do any of that stuff while then vnode is locked. We recently got a way to correctly restart this kind of VOPs if they need to relock the directory, which implies the need to do re-lookup of the entry. I put the patch at https://reviews.freebsd.org/D35514 to handle just mkdir() for now. Other syscalls like link() and rename would need similar treatment if my patch works. -- You are receiving this mail because: You are the assignee for the bug.