[BACK]Return to bufcache.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sbin / fsck_lfs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sbin/fsck_lfs/bufcache.c between version 1.2 and 1.3

version 1.2, 2003/03/31 19:56:59 version 1.3, 2005/02/26 05:45:54
Line 174  struct ubuf *
Line 174  struct ubuf *
 getblk(struct uvnode * vp, daddr_t lbn, int size)  getblk(struct uvnode * vp, daddr_t lbn, int size)
 {  {
         struct ubuf *bp;          struct ubuf *bp;
   #ifdef DEBUG
           static int warned;
   #endif
   
         /*          /*
          * First check the buffer cache lists.           * First check the buffer cache lists.
Line 199  getblk(struct uvnode * vp, daddr_t lbn, 
Line 202  getblk(struct uvnode * vp, daddr_t lbn, 
                 if (bp == NULL) {                  if (bp == NULL) {
                         bp = TAILQ_FIRST(&bufqueues[BQ_LRU]);                          bp = TAILQ_FIRST(&bufqueues[BQ_LRU]);
                         if (bp)                          if (bp)
                                 TAILQ_REMOVE(&bufqueues[BQ_AGE], bp,                                  TAILQ_REMOVE(&bufqueues[BQ_LRU], bp,
                                     b_freelist);                                      b_freelist);
                 }                  }
                 if (bp) {                  if (bp) {
Line 209  getblk(struct uvnode * vp, daddr_t lbn, 
Line 212  getblk(struct uvnode * vp, daddr_t lbn, 
                 }                  }
 #ifdef DEBUG  #ifdef DEBUG
                 else {                  else {
                         warnx("no free buffers, allocating more than %d",                          if (!warned)
                             maxbufs);                                  warnx("allocating more than %d buffers",
                                           maxbufs);
                           ++warned;
                           break;
                 }                  }
 #endif  #endif
         }          }
Line 315  reassignbuf(struct ubuf * bp, struct uvn
Line 321  reassignbuf(struct ubuf * bp, struct uvn
                 LIST_INSERT_HEAD(&vp->v_cleanblkhd, bp, b_vnbufs);                  LIST_INSERT_HEAD(&vp->v_cleanblkhd, bp, b_vnbufs);
         }          }
 }  }
   
   #ifdef DEBUG
   void
   dump_free_lists(void)
   {
           struct ubuf *bp;
           int i;
   
           for (i = 0; i <= BQ_LOCKED; i++) {
                   printf("==> free list %d:\n", i);
                   TAILQ_FOREACH(bp, &bufqueues[i], b_freelist) {
                           printf("vp %p lbn %" PRId64 " flags %lx\n",
                                   bp->b_vp, bp->b_lblkno, bp->b_flags);
                   }
           }
   }
   #endif

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

CVSweb <webmaster@jp.NetBSD.org>