Diff for /xfs-linux/xfs_bmap_btree.c between versions 1.164 and 1.165

version 1.164, 2007/08/02 16:05:27 version 1.165, 2007/08/02 16:07:02
Line 1914  xfs_bmbt_get_state( Line 1914  xfs_bmbt_get_state(
                                 ext_flag);                                  ext_flag);
 }  }
   
 #ifndef XFS_NATIVE_HOST  
 /* Endian flipping versions of the bmbt extraction functions */  /* Endian flipping versions of the bmbt extraction functions */
 void  void
 xfs_bmbt_disk_get_all(  xfs_bmbt_disk_get_all(
         xfs_bmbt_rec_t  *r,          xfs_bmbt_rec_t  *r,
         xfs_bmbt_irec_t *s)          xfs_bmbt_irec_t *s)
 {  {
         __uint64_t      l0, l1;          __xfs_bmbt_get_all(be64_to_cpu(r->l0), be64_to_cpu(r->l1), s);
   
         l0 = INT_GET(r->l0, ARCH_CONVERT);  
         l1 = INT_GET(r->l1, ARCH_CONVERT);  
   
         __xfs_bmbt_get_all(l0, l1, s);  
 }  }
   
 /*  /*
Line 1936  xfs_filblks_t Line 1930  xfs_filblks_t
 xfs_bmbt_disk_get_blockcount(  xfs_bmbt_disk_get_blockcount(
         xfs_bmbt_rec_t  *r)          xfs_bmbt_rec_t  *r)
 {  {
         return (xfs_filblks_t)(INT_GET(r->l1, ARCH_CONVERT) & XFS_MASK64LO(21));          return (xfs_filblks_t)(be64_to_cpu(r->l1) & XFS_MASK64LO(21));
 }  }
   
 /*  /*
Line 1946  xfs_fileoff_t Line 1940  xfs_fileoff_t
 xfs_bmbt_disk_get_startoff(  xfs_bmbt_disk_get_startoff(
         xfs_bmbt_rec_t  *r)          xfs_bmbt_rec_t  *r)
 {  {
         return ((xfs_fileoff_t)INT_GET(r->l0, ARCH_CONVERT) &          return ((xfs_fileoff_t)be64_to_cpu(r->l0) &
                  XFS_MASK64LO(64 - BMBT_EXNTFLAG_BITLEN)) >> 9;                   XFS_MASK64LO(64 - BMBT_EXNTFLAG_BITLEN)) >> 9;
 }  }
 #endif /* XFS_NATIVE_HOST */  
   
   
 /*  /*
  * Increment cursor by one record at the level.   * Increment cursor by one record at the level.
Line 2348  xfs_bmbt_set_all( Line 2340  xfs_bmbt_set_all(
 }  }
   
   
 #ifndef XFS_NATIVE_HOST  
 /*  /*
  * Set all the fields in a disk format bmap extent record from the arguments.   * Set all the fields in a disk format bmap extent record from the arguments.
  */   */
Line 2369  xfs_bmbt_disk_set_allf( Line 2360  xfs_bmbt_disk_set_allf(
 #if XFS_BIG_BLKNOS  #if XFS_BIG_BLKNOS
         ASSERT((startblock & XFS_MASK64HI(64-BMBT_STARTBLOCK_BITLEN)) == 0);          ASSERT((startblock & XFS_MASK64HI(64-BMBT_STARTBLOCK_BITLEN)) == 0);
   
         INT_SET(r->l0, ARCH_CONVERT,          r->l0 = cpu_to_be64(
                 ((xfs_bmbt_rec_base_t)extent_flag << 63) |                  ((xfs_bmbt_rec_base_t)extent_flag << 63) |
                  ((xfs_bmbt_rec_base_t)startoff << 9) |                   ((xfs_bmbt_rec_base_t)startoff << 9) |
                  ((xfs_bmbt_rec_base_t)startblock >> 43));                   ((xfs_bmbt_rec_base_t)startblock >> 43));
         INT_SET(r->l1, ARCH_CONVERT,          r->l1 = cpu_to_be64(
                 ((xfs_bmbt_rec_base_t)startblock << 21) |                  ((xfs_bmbt_rec_base_t)startblock << 21) |
                  ((xfs_bmbt_rec_base_t)blockcount &                   ((xfs_bmbt_rec_base_t)blockcount &
                   (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));                    (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));
 #else   /* !XFS_BIG_BLKNOS */  #else   /* !XFS_BIG_BLKNOS */
         if (ISNULLSTARTBLOCK(b)) {          if (ISNULLSTARTBLOCK(b)) {
                 INT_SET(r->l0, ARCH_CONVERT,                  r->l0 = cpu_to_be64(
                         ((xfs_bmbt_rec_base_t)extent_flag << 63) |                          ((xfs_bmbt_rec_base_t)extent_flag << 63) |
                          ((xfs_bmbt_rec_base_t)startoff << 9) |                           ((xfs_bmbt_rec_base_t)startoff << 9) |
                           (xfs_bmbt_rec_base_t)XFS_MASK64LO(9));                            (xfs_bmbt_rec_base_t)XFS_MASK64LO(9));
                 INT_SET(r->l1, ARCH_CONVERT, XFS_MASK64HI(11) |                  r->l1 = cpu_to_be64(XFS_MASK64HI(11) |
                           ((xfs_bmbt_rec_base_t)startblock << 21) |                            ((xfs_bmbt_rec_base_t)startblock << 21) |
                           ((xfs_bmbt_rec_base_t)blockcount &                            ((xfs_bmbt_rec_base_t)blockcount &
                            (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));                             (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));
         } else {          } else {
                 INT_SET(r->l0, ARCH_CONVERT,                  r->l0 = cpu_to_be64(
                         ((xfs_bmbt_rec_base_t)extent_flag << 63) |                          ((xfs_bmbt_rec_base_t)extent_flag << 63) |
                          ((xfs_bmbt_rec_base_t)startoff << 9));                           ((xfs_bmbt_rec_base_t)startoff << 9));
                 INT_SET(r->l1, ARCH_CONVERT,                  r->l1 = cpu_to_be64(
                         ((xfs_bmbt_rec_base_t)startblock << 21) |                          ((xfs_bmbt_rec_base_t)startblock << 21) |
                          ((xfs_bmbt_rec_base_t)blockcount &                           ((xfs_bmbt_rec_base_t)blockcount &
                           (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));                            (xfs_bmbt_rec_base_t)XFS_MASK64LO(21)));
Line 2410  xfs_bmbt_disk_set_all( Line 2401  xfs_bmbt_disk_set_all(
         xfs_bmbt_disk_set_allf(r, s->br_startoff, s->br_startblock,          xfs_bmbt_disk_set_allf(r, s->br_startoff, s->br_startblock,
                                   s->br_blockcount, s->br_state);                                    s->br_blockcount, s->br_state);
 }  }
 #endif /* XFS_NATIVE_HOST */  
   
 /*  /*
  * Set the blockcount field in a bmap extent record.   * Set the blockcount field in a bmap extent record.

Removed from v.1.164  
changed lines
  Added in v.1.165


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