The branch releng/13.0 has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=28d0541398bffc9930fd027613fb1bdc43a61704

commit 28d0541398bffc9930fd027613fb1bdc43a61704
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2021-02-03 23:58:05 +0000
Commit:     Konstantin Belousov <k...@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;
                }
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to