svn commit: r358085 - head/sys/ufs/ffs
Kirk McKusick
mckusick at FreeBSD.org
Tue Feb 18 23:56:24 UTC 2020
Author: mckusick
Date: Tue Feb 18 23:56:23 2020
New Revision: 358085
URL: https://svnweb.freebsd.org/changeset/base/358085
Log:
Additional KASSERTs to ensure the consistency of the soft updates
indirdep structure. No functional change.
Tested by: Peter Holm (as part of a larger patch)
Sponsored by: Netflix
Modified:
head/sys/ufs/ffs/ffs_softdep.c
Modified: head/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- head/sys/ufs/ffs/ffs_softdep.c Tue Feb 18 21:36:54 2020 (r358084)
+++ head/sys/ufs/ffs/ffs_softdep.c Tue Feb 18 23:56:23 2020 (r358085)
@@ -8224,8 +8224,13 @@ indir_trunc(freework, dbn, lbn)
* If we're goingaway, free the indirdep. Otherwise it will
* linger until the write completes.
*/
- if (goingaway)
+ if (goingaway) {
+ KASSERT(indirdep->ir_savebp == bp,
+ ("indir_trunc: losing ir_savebp %p",
+ indirdep->ir_savebp));
+ indirdep->ir_savebp = NULL;
free_indirdep(indirdep);
+ }
}
FREE_LOCK(ump);
/* Initialize pointers depending on block size. */
@@ -10739,6 +10744,8 @@ free_indirdep(indirdep)
("free_indirdep: %p still on newblk list.", indirdep));
KASSERT(indirdep->ir_saveddata == NULL,
("free_indirdep: %p still has saved data.", indirdep));
+ KASSERT(indirdep->ir_savebp == NULL,
+ ("free_indirdep: %p still has savebp buffer.", indirdep));
if (indirdep->ir_state & ONWORKLIST)
WORKLIST_REMOVE(&indirdep->ir_list);
WORKITEM_FREE(indirdep, D_INDIRDEP);
More information about the svn-src-all
mailing list