diff options
-rw-r--r-- | contrib/sys/softupdates/ffs_softdep.c | 11 | ||||
-rw-r--r-- | sys/contrib/softupdates/ffs_softdep.c | 11 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 11 |
3 files changed, 30 insertions, 3 deletions
diff --git a/contrib/sys/softupdates/ffs_softdep.c b/contrib/sys/softupdates/ffs_softdep.c index 83a4fa8..c4a2cd8 100644 --- a/contrib/sys/softupdates/ffs_softdep.c +++ b/contrib/sys/softupdates/ffs_softdep.c @@ -54,7 +54,7 @@ * SUCH DAMAGE. * * from: @(#)ffs_softdep.c 9.28 (McKusick) 8/8/98 - * $Id: ffs_softdep.c,v 1.13 1998/08/12 20:46:47 julian Exp $ + * $Id: ffs_softdep.c,v 1.14 1998/09/24 15:02:46 luoqi Exp $ */ /* @@ -2230,6 +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; + } + } + } done: bcopy(oldloc, newloc, entrysize); FREE_LOCK(&lk); diff --git a/sys/contrib/softupdates/ffs_softdep.c b/sys/contrib/softupdates/ffs_softdep.c index 83a4fa8..c4a2cd8 100644 --- a/sys/contrib/softupdates/ffs_softdep.c +++ b/sys/contrib/softupdates/ffs_softdep.c @@ -54,7 +54,7 @@ * SUCH DAMAGE. * * from: @(#)ffs_softdep.c 9.28 (McKusick) 8/8/98 - * $Id: ffs_softdep.c,v 1.13 1998/08/12 20:46:47 julian Exp $ + * $Id: ffs_softdep.c,v 1.14 1998/09/24 15:02:46 luoqi Exp $ */ /* @@ -2230,6 +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; + } + } + } done: bcopy(oldloc, newloc, entrysize); FREE_LOCK(&lk); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 83a4fa8..c4a2cd8 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -54,7 +54,7 @@ * SUCH DAMAGE. * * from: @(#)ffs_softdep.c 9.28 (McKusick) 8/8/98 - * $Id: ffs_softdep.c,v 1.13 1998/08/12 20:46:47 julian Exp $ + * $Id: ffs_softdep.c,v 1.14 1998/09/24 15:02:46 luoqi Exp $ */ /* @@ -2230,6 +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; + } + } + } done: bcopy(oldloc, newloc, entrysize); FREE_LOCK(&lk); |