summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>1999-02-17 20:01:20 +0000
committermckusick <mckusick@FreeBSD.org>1999-02-17 20:01:20 +0000
commit1f1828bc6d021f04c3bf10d973ca2d887965578e (patch)
tree0a389925a5bbe62ba4bdeb172d9f8a173d93a172 /sys/ufs
parent9cf8505943f749d697ec3539e12c22ee52b17224 (diff)
downloadFreeBSD-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 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index c82f929..5b7b887 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/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);
OpenPOWER on IntegriCloud