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 Pull up revision 1.38 (requested by perseant):



details:   https://anonhg.NetBSD.org/src/rev/ffde367b3908
branches:  netbsd-1-4
changeset: 470059:ffde367b3908
user:      he <he%NetBSD.org@localhost>
date:      Sat Jan 15 18:03:46 2000 +0000

description:
Pull up revision 1.38 (requested by perseant):
  Expand the category of "metadata" in lfs_markv to include Ifile
  data blocks.  This prevents a rare condition in which certain
  Ifile blocks are "unwritten" when cleaning during intense disk
  activity.

diffstat:

 sys/ufs/lfs/lfs_syscalls.c |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (27 lines):

diff -r dc34c9522028 -r ffde367b3908 sys/ufs/lfs/lfs_syscalls.c
--- a/sys/ufs/lfs/lfs_syscalls.c        Sat Jan 15 18:01:45 2000 +0000
+++ b/sys/ufs/lfs/lfs_syscalls.c        Sat Jan 15 18:03:46 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lfs_syscalls.c,v 1.26.2.2 1999/04/15 17:30:28 perseant Exp $   */
+/*     $NetBSD: lfs_syscalls.c,v 1.26.2.3 2000/01/15 18:03:46 he Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -399,13 +399,14 @@
                        }
                        splx(s);
                }
-               if (blkp->bi_lbn >= 0)  { /* Data Block */
-                       /* XXX KS - should we use incore here, or just always use getblk()? */
+               if (ip->i_number != LFS_IFILE_INUM && blkp->bi_lbn >= 0) {
+                       /* Data Block */
                        bp = lfs_fakebuf(vp, blkp->bi_lbn,
                                         blkp->bi_size, blkp->bi_bp);
                        /* Pretend we used bread() to get it */
                        bp->b_blkno = blkp->bi_daddr;
-               } else {        /* Indirect block */
+               } else {
+                       /* Indirect block */
                        bp = getblk(vp, blkp->bi_lbn, blkp->bi_size, 0, 0);
                        if (!(bp->b_flags & (B_DONE|B_DELWRI))) { /* B_CACHE */
                                /*



Home | Main Index | Thread Index | Old Index