Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-4]: src/sys/ufs/lfs pullup 1.12->1.13 (perseant)



details:   https://anonhg.NetBSD.org/src/rev/de566c1933db
branches:  netbsd-1-4
changeset: 469065:de566c1933db
user:      perry <perry%NetBSD.org@localhost>
date:      Fri Jun 25 20:50:33 1999 +0000

description:
pullup 1.12->1.13 (perseant)

diffstat:

 sys/ufs/lfs/lfs_balloc.c |  15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diffs (36 lines):

diff -r d2f98115b5e2 -r de566c1933db sys/ufs/lfs/lfs_balloc.c
--- a/sys/ufs/lfs/lfs_balloc.c  Fri Jun 25 20:50:09 1999 +0000
+++ b/sys/ufs/lfs/lfs_balloc.c  Fri Jun 25 20:50:33 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lfs_balloc.c,v 1.12 1999/03/24 05:51:31 mrg Exp $      */
+/*     $NetBSD: lfs_balloc.c,v 1.12.2.1 1999/06/25 20:50:33 perry Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -268,6 +268,8 @@
        long bb;
        int error;
        extern long locked_queue_bytes;
+       struct buf *ibp;
+       SEGUSE *sup;
 
        ip = VTOI(vp);
        fs = ip->i_lfs;
@@ -281,6 +283,17 @@
                brelse(*bpp);
                return(error);
        }
+
+       /*
+        * Fix the allocation for this fragment so that it looks like the
+         * source segment contained a block of the new size.  This overcounts;
+        * but the overcount only lasts until the block in question
+        * is written, so the on-disk live bytes count is always correct.
+        */
+       LFS_SEGENTRY(sup, fs, datosn(fs,(*bpp)->b_blkno), ibp);
+       sup->su_nbytes += (nsize-osize);
+       VOP_BWRITE(ibp);
+
 #ifdef QUOTA
        if ((error = chkdq(ip, bb, curproc->p_ucred, 0))) {
                brelse(*bpp);



Home | Main Index | Thread Index | Old Index