summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-10-25 16:54:36 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-10-25 16:54:36 +0000
commit5eea731d3b0ead89eb1942daac59f5d4ea0563ae (patch)
tree57044cd508150993afc71eceabe93f351173a0ec
parent04652651536e99c8c56e127fbc76d7619e5e0ed5 (diff)
entered into RCS
-rw-r--r--ufs/alloc.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/ufs/alloc.c b/ufs/alloc.c
index 4464dfa0..b82d6065 100644
--- a/ufs/alloc.c
+++ b/ufs/alloc.c
@@ -817,6 +817,9 @@ ffs_fragextend(struct node *np,
fs->fs_cstotal.cs_nffree--;
csum[cg].cs_nffree--;
}
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
fs->fs_fmod = 1;
/* bdwrite(bp); */
return (bprev);
@@ -892,6 +895,10 @@ ffs_alloccg(struct node *np,
csum[cg].cs_nffree += i;
fs->fs_fmod = 1;
cgp->cg_frsum[i]++;
+
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
/* bdwrite(bp); */
return (bno);
}
@@ -909,6 +916,9 @@ ffs_alloccg(struct node *np,
cgp->cg_frsum[allocsiz]--;
if (frags != allocsiz)
cgp->cg_frsum[allocsiz - frags]++;
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
/* bdwrite(bp); */
return (cg * fs->fs_fpg + bno);
}
@@ -1020,6 +1030,9 @@ gotit:
cg_blks(fs, cgp, cylno)[cbtorpos(fs, bno)]--;
cg_blktot(cgp)[cylno]--;
fs->fs_fmod = 1;
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
return (cgp->cg_cgx * fs->fs_fpg + bno);
}
@@ -1188,6 +1201,9 @@ gotit:
fs->fs_cstotal.cs_ndir++;
csum[cg].cs_ndir++;
}
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
/* bdwrite(bp); */
return (cg * fs->fs_ipg + ipref);
}
@@ -1285,6 +1301,9 @@ ffs_blkfree(register struct node *np,
cg_blktot(cgp)[i]++;
}
}
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
fs->fs_fmod = 1;
/* bdwrite(bp); */
}
@@ -1340,6 +1359,9 @@ diskfs_free_node (struct node *np, mode_t mode)
fs->fs_cstotal.cs_ndir--;
csum[cg].cs_ndir--;
}
+ record_poke (cgp, sblock->fs_cgsize);
+ csum_dirty = 1;
+ sblock_dirty = 1;
fs->fs_fmod = 1;
/* bdwrite(bp); */
}