diff options
author | mckusick <mckusick@FreeBSD.org> | 1999-02-17 20:01:20 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 1999-02-17 20:01:20 +0000 |
commit | 1f1828bc6d021f04c3bf10d973ca2d887965578e (patch) | |
tree | 0a389925a5bbe62ba4bdeb172d9f8a173d93a172 /contrib | |
parent | 9cf8505943f749d697ec3539e12c22ee52b17224 (diff) | |
download | FreeBSD-src-1f1828bc6d021f04c3bf10d973ca2d887965578e.zip FreeBSD-src-1f1828bc6d021f04c3bf10d973ca2d887965578e.tar.gz |
fix double LIST_REMOVE; other cosmetic changes to match version 9.32.
Obtained from: Jeffrey Hsu <hsu@FreeBSD.ORG>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/sys/softupdates/ffs_softdep.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/contrib/sys/softupdates/ffs_softdep.c b/contrib/sys/softupdates/ffs_softdep.c index c82f929..5b7b887 100644 --- a/contrib/sys/softupdates/ffs_softdep.c +++ b/contrib/sys/softupdates/ffs_softdep.c @@ -53,8 +53,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * from: @(#)ffs_softdep.c 9.28 (McKusick) 8/8/98 - * $Id: ffs_softdep.c,v 1.20 1999/01/07 16:14:10 bde Exp $ + * from: @(#)ffs_softdep.c 9.32 (McKusick) 2/17/99 + * $Id: ffs_softdep.c,v 1.21 1999/01/22 09:07:32 dg Exp $ */ /* @@ -2230,15 +2230,15 @@ softdep_change_directoryentry_offset(dp, base, oldloc, newloc, entrysize) dap, da_pdlist); break; } - if (dap == NULL) { - for (dap = LIST_FIRST(&pagedep->pd_pendinghd); - dap; dap = LIST_NEXT(dap, da_pdlist)) { - if (dap->da_offset == oldoffset) { - dap->da_offset = newoffset; - break; - } - } - } + if (dap == NULL) { + for (dap = LIST_FIRST(&pagedep->pd_pendinghd); + dap; dap = LIST_NEXT(dap, da_pdlist)) { + if (dap->da_offset == oldoffset) { + dap->da_offset = newoffset; + break; + } + } + } done: bcopy(oldloc, newloc, entrysize); FREE_LOCK(&lk); @@ -3000,8 +3000,9 @@ softdep_disk_write_complete(bp) indirdep->ir_state &= ~UNDONE; indirdep->ir_state |= ATTACHED; while ((aip = LIST_FIRST(&indirdep->ir_donehd)) != 0) { - LIST_REMOVE(aip, ai_next); handle_allocindir_partdone(aip); + if (aip == LIST_FIRST(&indirdep->ir_donehd)) + panic("disk_write_complete: not gone"); } WORKLIST_INSERT(&reattach, wk); bdirty(bp); |