Diff for /xfs-linux/xfs_bmap.c between versions 1.366 and 1.367

version 1.366, 2007/03/03 02:57:44 version 1.367, 2007/03/30 04:04:14
Line 4444  xfs_bmap_one_block( Line 4444  xfs_bmap_one_block(
         xfs_bmbt_irec_t s;              /* internal version of extent */          xfs_bmbt_irec_t s;              /* internal version of extent */
   
 #ifndef DEBUG  #ifndef DEBUG
         if (whichfork == XFS_DATA_FORK)          if (whichfork == XFS_DATA_FORK) {
                 return ip->i_d.di_size == ip->i_mount->m_sb.sb_blocksize;                  return ((ip->i_d.di_mode & S_IFMT) == S_IFREG) ?
                           (ip->i_size == ip->i_mount->m_sb.sb_blocksize) :
                           (ip->i_d.di_size == ip->i_mount->m_sb.sb_blocksize);
           }
 #endif  /* !DEBUG */  #endif  /* !DEBUG */
         if (XFS_IFORK_NEXTENTS(ip, whichfork) != 1)          if (XFS_IFORK_NEXTENTS(ip, whichfork) != 1)
                 return 0;                  return 0;
Line 4457  xfs_bmap_one_block( Line 4460  xfs_bmap_one_block(
         xfs_bmbt_get_all(ep, &s);          xfs_bmbt_get_all(ep, &s);
         rval = s.br_startoff == 0 && s.br_blockcount == 1;          rval = s.br_startoff == 0 && s.br_blockcount == 1;
         if (rval && whichfork == XFS_DATA_FORK)          if (rval && whichfork == XFS_DATA_FORK)
                 ASSERT(ip->i_d.di_size == ip->i_mount->m_sb.sb_blocksize);                  ASSERT(ip->i_size == ip->i_mount->m_sb.sb_blocksize);
         return rval;          return rval;
 }  }
   
Line 5817  xfs_getbmap( Line 5820  xfs_getbmap(
                         fixlen = XFS_MAXIOFFSET(mp);                          fixlen = XFS_MAXIOFFSET(mp);
                 } else {                  } else {
                         prealloced = 0;                          prealloced = 0;
                         fixlen = ip->i_d.di_size;                          fixlen = ip->i_size;
                 }                  }
         } else {          } else {
                 prealloced = 0;                  prealloced = 0;
Line 5841  xfs_getbmap( Line 5844  xfs_getbmap(
   
         xfs_ilock(ip, XFS_IOLOCK_SHARED);          xfs_ilock(ip, XFS_IOLOCK_SHARED);
   
         if (whichfork == XFS_DATA_FORK && ip->i_delayed_blks) {          if (whichfork == XFS_DATA_FORK &&
                   (ip->i_delayed_blks || ip->i_size > ip->i_d.di_size)) {
                 /* xfs_fsize_t last_byte = xfs_file_last_byte(ip); */                  /* xfs_fsize_t last_byte = xfs_file_last_byte(ip); */
                 error = bhv_vop_flush_pages(vp, (xfs_off_t)0, -1, 0, FI_REMAPF);                  error = bhv_vop_flush_pages(vp, (xfs_off_t)0, -1, 0, FI_REMAPF);
         }          }

Removed from v.1.366  
changed lines
  Added in v.1.367


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>