[BACK]Return to ffs_inode.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / ufs / ffs

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

Diff for /src/sys/ufs/ffs/ffs_inode.c between version 1.86.2.2 and 1.86.2.3

version 1.86.2.2, 2007/04/13 15:47:04 version 1.86.2.3, 2007/05/13 17:36:42
Line 119  ffs_update(struct vnode *vp, const struc
Line 119  ffs_update(struct vnode *vp, const struc
                       fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),                        fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
                       (int)fs->fs_bsize, NOCRED, &bp);                        (int)fs->fs_bsize, NOCRED, &bp);
         if (error) {          if (error) {
                 brelse(bp);                  brelse(bp, 0);
                 return (error);                  return (error);
         }          }
         ip->i_flag &= ~(IN_MODIFIED | IN_ACCESSED);          ip->i_flag &= ~(IN_MODIFIED | IN_ACCESSED);
Line 564  ffs_indirtrunc(struct inode *ip, daddr_t
Line 564  ffs_indirtrunc(struct inode *ip, daddr_t
          */           */
         vp = ITOV(ip);          vp = ITOV(ip);
         bp = getblk(vp, lbn, (int)fs->fs_bsize, 0, 0);          bp = getblk(vp, lbn, (int)fs->fs_bsize, 0, 0);
           mutex_enter(&bp->b_interlock);
         if (bp->b_flags & (B_DONE | B_DELWRI)) {          if (bp->b_flags & (B_DONE | B_DELWRI)) {
                 /* Braces must be here in case trace evaluates to nothing. */                  /* Braces must be here in case trace evaluates to nothing. */
                 trace(TR_BREADHIT, pack(vp, fs->fs_bsize), lbn);                  trace(TR_BREADHIT, pack(vp, fs->fs_bsize), lbn);
                   mutex_exit(&bp->b_interlock);
         } else {          } else {
                 trace(TR_BREADMISS, pack(vp, fs->fs_bsize), lbn);                  trace(TR_BREADMISS, pack(vp, fs->fs_bsize), lbn);
                 curproc->p_stats->p_ru.ru_inblock++;    /* pay for read */                  curproc->p_stats->p_ru.ru_inblock++;    /* pay for read */
Line 575  ffs_indirtrunc(struct inode *ip, daddr_t
Line 577  ffs_indirtrunc(struct inode *ip, daddr_t
                         panic("ffs_indirtrunc: bad buffer size");                          panic("ffs_indirtrunc: bad buffer size");
                 bp->b_blkno = dbn;                  bp->b_blkno = dbn;
                 BIO_SETPRIO(bp, BPRIO_TIMECRITICAL);                  BIO_SETPRIO(bp, BPRIO_TIMECRITICAL);
                   mutex_exit(&bp->b_interlock);
                 VOP_STRATEGY(vp, bp);                  VOP_STRATEGY(vp, bp);
                 error = biowait(bp);                  error = biowait(bp);
         }          }
         if (error) {          if (error) {
                 brelse(bp);                  brelse(bp, 0);
                 *countp = 0;                  *countp = 0;
                 return (error);                  return (error);
         }          }
Line 640  ffs_indirtrunc(struct inode *ip, daddr_t
Line 643  ffs_indirtrunc(struct inode *ip, daddr_t
         if (copy != NULL) {          if (copy != NULL) {
                 FREE(copy, M_TEMP);                  FREE(copy, M_TEMP);
         } else {          } else {
                 bp->b_flags |= B_INVAL;                  brelse(bp, B_INVAL);
                 brelse(bp);  
         }          }
   
         *countp = blocksreleased;          *countp = blocksreleased;

Legend:
Removed from v.1.86.2.2  
changed lines
  Added in v.1.86.2.3

CVSweb <webmaster@jp.NetBSD.org>