summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/sys/softupdates/ffs_softdep.c11
-rw-r--r--sys/contrib/softupdates/ffs_softdep.c11
-rw-r--r--sys/ufs/ffs/ffs_softdep.c11
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);
OpenPOWER on IntegriCloud