Date: Thu, 25 Feb 2021 20:52:32 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 28d0541398bf - releng/13.0 - softdep_request_cleanup: wait for softdep_request_clean_flush() to pass Message-ID: <202102252052.11PKqWPM079487@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch releng/13.0 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=28d0541398bffc9930fd027613fb1bdc43a61704 commit 28d0541398bffc9930fd027613fb1bdc43a61704 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-02-03 23:58:05 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-02-25 20:50:12 +0000 softdep_request_cleanup: wait for softdep_request_clean_flush() to pass Approved by: re (delphij, gjb) (cherry picked from commit 2011b44fa3f2b2bd5a24be01094420cce9144b2d) --- sys/ufs/ffs/ffs_softdep.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 8c3ae9dd95fc..8c52139687f9 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -13847,6 +13847,7 @@ retry: failed_vnode = softdep_request_cleanup_flush(mp, ump); ACQUIRE_LOCK(ump); ump->um_softdep->sd_flags &= ~FLUSH_RC_ACTIVE; + wakeup(&ump->um_softdep->sd_flags); FREE_LOCK(ump); if (ump->softdep_on_worklist > 0) { stat_cleanup_retries += 1; @@ -13854,6 +13855,11 @@ retry: goto retry; } } else { + while ((ump->um_softdep->sd_flags & + FLUSH_RC_ACTIVE) != 0) { + msleep(&ump->um_softdep->sd_flags, + LOCK_PTR(ump), PVM, "ffsrca", hz); + } FREE_LOCK(ump); error = 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102252052.11PKqWPM079487>