Diff for /xfs-linux/xfsidbg.c between versions 1.317 and 1.318

version 1.317, 2007/08/02 16:02:14 version 1.318, 2007/08/02 16:03:01
Line 3233  xfs_broot(xfs_inode_t *ip, xfs_ifork_t * Line 3233  xfs_broot(xfs_inode_t *ip, xfs_ifork_t *
         pp = XFS_BMAP_BROOT_PTR_ADDR(broot, 1, f->if_broot_bytes);          pp = XFS_BMAP_BROOT_PTR_ADDR(broot, 1, f->if_broot_bytes);
         for (i = 1; i <= be16_to_cpu(broot->bb_numrecs); i++)          for (i = 1; i <= be16_to_cpu(broot->bb_numrecs); i++)
                 kdb_printf("\t%d: startoff %Ld ptr %Lx %s\n",                  kdb_printf("\t%d: startoff %Ld ptr %Lx %s\n",
                         i, (long long)INT_GET(kp[i - 1].br_startoff, ARCH_CONVERT),                          i, (long long)be64_to_cpu(kp[i - 1].br_startoff),
                         (unsigned long long)INT_GET(pp[i - 1], ARCH_CONVERT),                          (unsigned long long)be64_to_cpu(pp[i - 1]),
                         xfs_fmtfsblock(INT_GET(pp[i - 1], ARCH_CONVERT), ip->i_mount));                          xfs_fmtfsblock(be64_to_cpu(pp[i - 1]), ip->i_mount));
 }  }
   
 /*  /*
Line 3319  xfs_btbmap(xfs_bmbt_block_t *bt, int bsz Line 3319  xfs_btbmap(xfs_bmbt_block_t *bt, int bsz
                         k = XFS_BTREE_KEY_ADDR(xfs_bmbt, bt, i);                          k = XFS_BTREE_KEY_ADDR(xfs_bmbt, bt, i);
                         p = XFS_BTREE_PTR_ADDR(xfs_bmbt, bt, i, mxr);                          p = XFS_BTREE_PTR_ADDR(xfs_bmbt, bt, i, mxr);
                         kdb_printf("key %d startoff %Ld ", i,                          kdb_printf("key %d startoff %Ld ", i,
                                 (unsigned long long)INT_GET(k->br_startoff, ARCH_CONVERT));                                  (unsigned long long)be64_to_cpu(k->br_startoff));
                         kdb_printf("ptr %Lx\n",                          kdb_printf("ptr %Lx\n",
                                 (unsigned long long)INT_GET(*p, ARCH_CONVERT));                                  (unsigned long long)be64_to_cpu(*p));
                 }                  }
         }          }
 }  }
Line 3346  xfs_btino(xfs_inobt_block_t *bt, int bsz Line 3346  xfs_btino(xfs_inobt_block_t *bt, int bsz
   
                         r = XFS_BTREE_REC_ADDR(xfs_inobt, bt, i);                          r = XFS_BTREE_REC_ADDR(xfs_inobt, bt, i);
                         kdb_printf("rec %d startino 0x%x freecount %d, free %Lx\n",                          kdb_printf("rec %d startino 0x%x freecount %d, free %Lx\n",
                                 i, INT_GET(r->ir_startino, ARCH_CONVERT),                                  i, be32_to_cpu(r->ir_startino),
                                 INT_GET(r->ir_freecount, ARCH_CONVERT),                                  be32_to_cpu(r->ir_freecount),
                                 (unsigned long long)INT_GET(r->ir_free, ARCH_CONVERT));                                  (unsigned long long)be64_to_cpu(r->ir_free));
                 }                  }
         } else {          } else {
                 int mxr;                  int mxr;
Line 3361  xfs_btino(xfs_inobt_block_t *bt, int bsz Line 3361  xfs_btino(xfs_inobt_block_t *bt, int bsz
                         k = XFS_BTREE_KEY_ADDR(xfs_inobt, bt, i);                          k = XFS_BTREE_KEY_ADDR(xfs_inobt, bt, i);
                         p = XFS_BTREE_PTR_ADDR(xfs_inobt, bt, i, mxr);                          p = XFS_BTREE_PTR_ADDR(xfs_inobt, bt, i, mxr);
                         kdb_printf("key %d startino 0x%x ptr 0x%x\n",                          kdb_printf("key %d startino 0x%x ptr 0x%x\n",
                                 i, INT_GET(k->ir_startino, ARCH_CONVERT),                                  i, be32_to_cpu(k->ir_startino),
                                 be32_to_cpu(*p));                                  be32_to_cpu(*p));
                 }                  }
         }          }
Line 4566  xfsidbg_xattrleaf(xfs_attr_leafblock_t * Line 4566  xfsidbg_xattrleaf(xfs_attr_leafblock_t *
         kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",          kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",
                 i->forw, i->back, i->magic);                  i->forw, i->back, i->magic);
         kdb_printf("hdr count %d usedbytes %d firstused %d holes %d\n",          kdb_printf("hdr count %d usedbytes %d firstused %d holes %d\n",
                 INT_GET(h->count, ARCH_CONVERT),                  be16_to_cpu(h->count),
                 INT_GET(h->usedbytes, ARCH_CONVERT),                  be16_to_cpu(h->usedbytes),
                 INT_GET(h->firstused, ARCH_CONVERT), h->holes);                  be16_to_cpu(h->firstused), h->holes);
         for (j = 0, m = h->freemap; j < XFS_ATTR_LEAF_MAPSIZE; j++, m++) {          for (j = 0, m = h->freemap; j < XFS_ATTR_LEAF_MAPSIZE; j++, m++) {
                 kdb_printf("hdr freemap %d base %d size %d\n",                  kdb_printf("hdr freemap %d base %d size %d\n",
                         j, INT_GET(m->base, ARCH_CONVERT),                          j, be16_to_cpu(m->base),
                         INT_GET(m->size, ARCH_CONVERT));                          be16_to_cpu(m->size));
         }          }
         for (j = 0, e = leaf->entries; j < INT_GET(h->count, ARCH_CONVERT); j++, e++) {          for (j = 0, e = leaf->entries; j < be16_to_cpu(h->count); j++, e++) {
                 kdb_printf("[%2d] hash 0x%x nameidx %d flags 0x%x",                  kdb_printf("[%2d] hash 0x%x nameidx %d flags 0x%x",
                         j, INT_GET(e->hashval, ARCH_CONVERT),                          j, be32_to_cpu(e->hashval),
                         INT_GET(e->nameidx, ARCH_CONVERT), e->flags);                          be16_to_cpu(e->nameidx), e->flags);
                 if (e->flags & XFS_ATTR_LOCAL)                  if (e->flags & XFS_ATTR_LOCAL)
                         kdb_printf("LOCAL ");                          kdb_printf("LOCAL ");
                 if (e->flags & XFS_ATTR_ROOT)                  if (e->flags & XFS_ATTR_ROOT)
Line 4596  xfsidbg_xattrleaf(xfs_attr_leafblock_t * Line 4596  xfsidbg_xattrleaf(xfs_attr_leafblock_t *
                         for (k = 0; k < l->namelen; k++)                          for (k = 0; k < l->namelen; k++)
                                 kdb_printf("%c", l->nameval[k]);                                  kdb_printf("%c", l->nameval[k]);
                         kdb_printf("\"(%d) value \"", l->namelen);                          kdb_printf("\"(%d) value \"", l->namelen);
                         for (k = 0; (k < INT_GET(l->valuelen, ARCH_CONVERT)) && (k < 32); k++)                          for (k = 0; (k < be16_to_cpu(l->valuelen)) && (k < 32); k++)
                                 kdb_printf("%c", l->nameval[l->namelen + k]);                                  kdb_printf("%c", l->nameval[l->namelen + k]);
                         if (k == 32)                          if (k == 32)
                                 kdb_printf("...");                                  kdb_printf("...");
                         kdb_printf("\"(%d)\n",                          kdb_printf("\"(%d)\n", be16_to_cpu(l->valuelen));
                                 INT_GET(l->valuelen, ARCH_CONVERT));  
                 } else {                  } else {
                         r = XFS_ATTR_LEAF_NAME_REMOTE(leaf, j);                          r = XFS_ATTR_LEAF_NAME_REMOTE(leaf, j);
                         for (k = 0; k < r->namelen; k++)                          for (k = 0; k < r->namelen; k++)
                                 kdb_printf("%c", r->name[k]);                                  kdb_printf("%c", r->name[k]);
                         kdb_printf("\"(%d) value blk 0x%x len %d\n",                          kdb_printf("\"(%d) value blk 0x%x len %d\n",
                                     r->namelen,                                      r->namelen,
                                     INT_GET(r->valueblk, ARCH_CONVERT),                                      be32_to_cpu(r->valueblk),
                                     INT_GET(r->valuelen, ARCH_CONVERT));                                      be32_to_cpu(r->valuelen));
                 }                  }
         }          }
 }  }
Line 4625  xfsidbg_xattrsf(xfs_attr_shortform_t *s) Line 4624  xfsidbg_xattrsf(xfs_attr_shortform_t *s)
         int i, j;          int i, j;
   
         sfh = &s->hdr;          sfh = &s->hdr;
         kdb_printf("hdr count %d\n", INT_GET(sfh->count, ARCH_CONVERT));          kdb_printf("hdr count %d\n", sfh->count);
         for (i = 0, sfe = s->list; i < INT_GET(sfh->count, ARCH_CONVERT); i++) {          for (i = 0, sfe = s->list; i < sfh->count; i++) {
                 kdb_printf("entry %d namelen %d name \"", i, sfe->namelen);                  kdb_printf("entry %d namelen %d name \"", i, sfe->namelen);
                 for (j = 0; j < sfe->namelen; j++)                  for (j = 0; j < sfe->namelen; j++)
                         kdb_printf("%c", sfe->nameval[j]);                          kdb_printf("%c", sfe->nameval[j]);
                 kdb_printf("\" valuelen %d value \"", INT_GET(sfe->valuelen, ARCH_CONVERT));                  kdb_printf("\" valuelen %d value \"", sfe->valuelen);
                 for (j = 0; (j < INT_GET(sfe->valuelen, ARCH_CONVERT)) && (j < 32); j++)                  for (j = 0; (j < sfe->valuelen) && (j < 32); j++)
                         kdb_printf("%c", sfe->nameval[sfe->namelen + j]);                          kdb_printf("%c", sfe->nameval[sfe->namelen + j]);
                 if (j == 32)                  if (j == 32)
                         kdb_printf("...");                          kdb_printf("...");
Line 5043  xfsidbg_xbuf_real(xfs_buf_t *bp, int sum Line 5042  xfsidbg_xbuf_real(xfs_buf_t *bp, int sum
                         kdb_printf("buf 0x%p inobt 0x%p\n", bp, bti);                          kdb_printf("buf 0x%p inobt 0x%p\n", bp, bti);
                         xfs_btino(bti, XFS_BUF_COUNT(bp));                          xfs_btino(bti, XFS_BUF_COUNT(bp));
                 }                  }
         } else if (INT_GET((aleaf = d)->hdr.info.magic, ARCH_CONVERT) == XFS_ATTR_LEAF_MAGIC) {          } else if (be16_to_cpu((aleaf = d)->hdr.info.magic) == XFS_ATTR_LEAF_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Attr Leaf, 1st hash 0x%x (at 0x%p)\n",                          kdb_printf("Attr Leaf, 1st hash 0x%x (at 0x%p)\n",
                                       INT_GET(aleaf->entries[0].hashval, ARCH_CONVERT), aleaf);                                        be32_to_cpu(aleaf->entries[0].hashval), aleaf);
                 } else {                  } else {
                         kdb_printf("buf 0x%p attr leaf 0x%p\n", bp, aleaf);                          kdb_printf("buf 0x%p attr leaf 0x%p\n", bp, aleaf);
                         xfsidbg_xattrleaf(aleaf);                          xfsidbg_xattrleaf(aleaf);
                 }                  }
         } else if (INT_GET((node = d)->hdr.info.magic, ARCH_CONVERT) == XFS_DA_NODE_MAGIC) {          } else if (be16_to_cpu((node = d)->hdr.info.magic) == XFS_DA_NODE_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir/Attr Node, level %d, 1st hash 0x%x (at 0x%p)\n",                          kdb_printf("Dir/Attr Node, level %d, 1st hash 0x%x (at 0x%p)\n",
                               node->hdr.level, node->btree[0].hashval, node);                                node->hdr.level, node->btree[0].hashval, node);
Line 5082  xfsidbg_xbuf_real(xfs_buf_t *bp, int sum Line 5081  xfsidbg_xbuf_real(xfs_buf_t *bp, int sum
                 kdb_printf("Quota blk starting ID [%d], type %s at 0x%p\n",                  kdb_printf("Quota blk starting ID [%d], type %s at 0x%p\n",
                         be32_to_cpu(dqb->d_id), XFSIDBG_DQTYPESTR(dqb), dqb);                          be32_to_cpu(dqb->d_id), XFSIDBG_DQTYPESTR(dqb), dqb);
   
         } else if (INT_GET((d2block = d)->hdr.magic, ARCH_CONVERT) == XFS_DIR2_BLOCK_MAGIC) {          } else if (be32_to_cpu((d2block = d)->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir2 block (at 0x%p)\n", d2block);                          kdb_printf("Dir2 block (at 0x%p)\n", d2block);
                 } else {                  } else {
                         kdb_printf("buf 0x%p dir2 block 0x%p\n", bp, d2block);                          kdb_printf("buf 0x%p dir2 block 0x%p\n", bp, d2block);
                         xfs_dir2data((void *)d2block, XFS_BUF_COUNT(bp));                          xfs_dir2data((void *)d2block, XFS_BUF_COUNT(bp));
                 }                  }
         } else if (INT_GET((d2data = d)->hdr.magic, ARCH_CONVERT) == XFS_DIR2_DATA_MAGIC) {          } else if (be32_to_cpu((d2data = d)->hdr.magic) == XFS_DIR2_DATA_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir2 data (at 0x%p)\n", d2data);                          kdb_printf("Dir2 data (at 0x%p)\n", d2data);
                 } else {                  } else {
                         kdb_printf("buf 0x%p dir2 data 0x%p\n", bp, d2data);                          kdb_printf("buf 0x%p dir2 data 0x%p\n", bp, d2data);
                         xfs_dir2data((void *)d2data, XFS_BUF_COUNT(bp));                          xfs_dir2data((void *)d2data, XFS_BUF_COUNT(bp));
                 }                  }
         } else if (INT_GET((d2leaf = d)->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAF1_MAGIC) {          } else if (be16_to_cpu((d2leaf = d)->hdr.info.magic) == XFS_DIR2_LEAF1_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir2 leaf(1) (at 0x%p)\n", d2leaf);                          kdb_printf("Dir2 leaf(1) (at 0x%p)\n", d2leaf);
                 } else {                  } else {
                         kdb_printf("buf 0x%p dir2 leaf 0x%p\n", bp, d2leaf);                          kdb_printf("buf 0x%p dir2 leaf 0x%p\n", bp, d2leaf);
                         xfs_dir2leaf(d2leaf, XFS_BUF_COUNT(bp));                          xfs_dir2leaf(d2leaf, XFS_BUF_COUNT(bp));
                 }                  }
         } else if (INT_GET(d2leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC) {          } else if (be16_to_cpu(d2leaf->hdr.info.magic) == XFS_DIR2_LEAFN_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir2 leaf(n) (at 0x%p)\n", d2leaf);                          kdb_printf("Dir2 leaf(n) (at 0x%p)\n", d2leaf);
                 } else {                  } else {
                         kdb_printf("buf 0x%p dir2 leaf 0x%p\n", bp, d2leaf);                          kdb_printf("buf 0x%p dir2 leaf 0x%p\n", bp, d2leaf);
                         xfs_dir2leaf(d2leaf, XFS_BUF_COUNT(bp));                          xfs_dir2leaf(d2leaf, XFS_BUF_COUNT(bp));
                 }                  }
         } else if (INT_GET((d2free = d)->hdr.magic, ARCH_CONVERT) == XFS_DIR2_FREE_MAGIC) {          } else if (be32_to_cpu((d2free = d)->hdr.magic) == XFS_DIR2_FREE_MAGIC) {
                 if (summary) {                  if (summary) {
                         kdb_printf("Dir2 free (at 0x%p)\n", d2free);                          kdb_printf("Dir2 free (at 0x%p)\n", d2free);
                 } else {                  } else {
Line 5653  xfsidbg_xdanode(xfs_da_intnode_t *node) Line 5652  xfsidbg_xdanode(xfs_da_intnode_t *node)
         h = &node->hdr;          h = &node->hdr;
         i = &h->info;          i = &h->info;
         kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",          kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",
                 INT_GET(i->forw, ARCH_CONVERT), INT_GET(i->back, ARCH_CONVERT), INT_GET(i->magic, ARCH_CONVERT));                  be32_to_cpu(i->forw), be32_to_cpu(i->back), be16_to_cpu(i->magic));
         kdb_printf("hdr count %d level %d\n",          kdb_printf("hdr count %d level %d\n",
                 INT_GET(h->count, ARCH_CONVERT), INT_GET(h->level, ARCH_CONVERT));                  be16_to_cpu(h->count), be16_to_cpu(h->level));
         for (j = 0, e = node->btree; j < INT_GET(h->count, ARCH_CONVERT); j++, e++) {          for (j = 0, e = node->btree; j < be16_to_cpu(h->count); j++, e++) {
                 kdb_printf("btree %d hashval 0x%x before 0x%x\n",                  kdb_printf("btree %d hashval 0x%x before 0x%x\n",
                         j, (uint_t)INT_GET(e->hashval, ARCH_CONVERT), INT_GET(e->before, ARCH_CONVERT));                          j, be32_to_cpu(e->hashval), be32_to_cpu(e->before));
         }          }
 }  }
   
Line 5708  xfs_dir2data(void *addr, int size) Line 5707  xfs_dir2data(void *addr, int size)
         db = (xfs_dir2_data_t *)addr;          db = (xfs_dir2_data_t *)addr;
         bb = (xfs_dir2_block_t *)addr;          bb = (xfs_dir2_block_t *)addr;
         h = &db->hdr;          h = &db->hdr;
         kdb_printf("hdr magic 0x%x (%s)\nhdr bestfree", INT_GET(h->magic, ARCH_CONVERT),          kdb_printf("hdr magic 0x%x (%s)\nhdr bestfree", be32_to_cpu(h->magic),
                 INT_GET(h->magic, ARCH_CONVERT) == XFS_DIR2_DATA_MAGIC ? "DATA" :                  be32_to_cpu(h->magic) == XFS_DIR2_DATA_MAGIC ? "DATA" :
                         (INT_GET(h->magic, ARCH_CONVERT) == XFS_DIR2_BLOCK_MAGIC ? "BLOCK" : ""));                          (be32_to_cpu(h->magic) == XFS_DIR2_BLOCK_MAGIC ? "BLOCK" : ""));
         for (j = 0, m = h->bestfree; j < XFS_DIR2_DATA_FD_COUNT; j++, m++) {          for (j = 0, m = h->bestfree; j < XFS_DIR2_DATA_FD_COUNT; j++, m++) {
                 kdb_printf(" %d: 0x%x@0x%x", j, INT_GET(m->length, ARCH_CONVERT), INT_GET(m->offset, ARCH_CONVERT));                  kdb_printf(" %d: 0x%x@0x%x", j,
                              be16_to_cpu(m->length),
                              be16_to_cpu(m->offset));
         }          }
         kdb_printf("\n");          kdb_printf("\n");
         if (INT_GET(h->magic, ARCH_CONVERT) == XFS_DIR2_DATA_MAGIC)          if (be32_to_cpu(h->magic) == XFS_DIR2_DATA_MAGIC)
                 t = (char *)db + size;                  t = (char *)db + size;
         else {          else {
                 /* XFS_DIR2_BLOCK_TAIL_P */                  /* XFS_DIR2_BLOCK_TAIL_P */
Line 5726  xfs_dir2data(void *addr, int size) Line 5727  xfs_dir2data(void *addr, int size)
         }          }
         for (p = (char *)(h + 1); p < t; ) {          for (p = (char *)(h + 1); p < t; ) {
                 u = (xfs_dir2_data_unused_t *)p;                  u = (xfs_dir2_data_unused_t *)p;
                 if (u->freetag == XFS_DIR2_DATA_FREE_TAG) {                  if (be16_to_cpu(u->freetag) == XFS_DIR2_DATA_FREE_TAG) {
                         kdb_printf("0x%lx unused freetag 0x%x length 0x%x tag 0x%x\n",                          kdb_printf("0x%lx unused freetag 0x%x length 0x%x tag 0x%x\n",
                                 (unsigned long) (p - (char *)addr),                                  (unsigned long) (p - (char *)addr),
                                 INT_GET(u->freetag, ARCH_CONVERT),                                  be16_to_cpu(u->freetag),
                                 INT_GET(u->length, ARCH_CONVERT),                                  be16_to_cpu(u->length),
                                 INT_GET(*xfs_dir2_data_unused_tag_p(u), ARCH_CONVERT));                                  be16_to_cpu(*xfs_dir2_data_unused_tag_p(u)));
                         p += INT_GET(u->length, ARCH_CONVERT);                          p += be16_to_cpu(u->length);
                         continue;                          continue;
                 }                  }
                 e = (xfs_dir2_data_entry_t *)p;                  e = (xfs_dir2_data_entry_t *)p;
                 kdb_printf("0x%lx entry inumber %llu namelen %d name \"",                  kdb_printf("0x%lx entry inumber %llu namelen %d name \"",
                         (unsigned long) (p - (char *)addr),                          (unsigned long) (p - (char *)addr),
                         (unsigned long long) INT_GET(e->inumber, ARCH_CONVERT),                          (unsigned long long) be64_to_cpu(e->inumber),
                         e->namelen);                          e->namelen);
                 for (k = 0; k < e->namelen; k++)                  for (k = 0; k < e->namelen; k++)
                         kdb_printf("%c", e->name[k]);                          kdb_printf("%c", e->name[k]);
                 kdb_printf("\" tag 0x%x\n", INT_GET(*xfs_dir2_data_entry_tag_p(e), ARCH_CONVERT));                  kdb_printf("\" tag 0x%x\n", be16_to_cpu(*xfs_dir2_data_entry_tag_p(e)));
                 p += xfs_dir2_data_entsize(e->namelen);                  p += xfs_dir2_data_entsize(e->namelen);
         }          }
         if (INT_GET(h->magic, ARCH_CONVERT) == XFS_DIR2_DATA_MAGIC)          if (be32_to_cpu(h->magic) == XFS_DIR2_DATA_MAGIC)
                 return;                  return;
         for (j = 0; j < INT_GET(tail->count, ARCH_CONVERT); j++, l++) {          for (j = 0; j < be32_to_cpu(tail->count); j++, l++) {
                 kdb_printf("0x%lx leaf %d hashval 0x%x address 0x%x (byte 0x%x)\n",                  kdb_printf("0x%lx leaf %d hashval 0x%x address 0x%x (byte 0x%x)\n",
                         (unsigned long) ((char *)l - (char *)addr), j,                          (unsigned long) ((char *)l - (char *)addr), j,
                         (uint_t)INT_GET(l->hashval, ARCH_CONVERT),                          be32_to_cpu(l->hashval),
                         INT_GET(l->address, ARCH_CONVERT),                          be32_to_cpu(l->address),
                         /* XFS_DIR2_DATAPTR_TO_BYTE */                          /* XFS_DIR2_DATAPTR_TO_BYTE */
                         INT_GET(l->address, ARCH_CONVERT) << XFS_DIR2_DATA_ALIGN_LOG);                          be32_to_cpu(l->address) << XFS_DIR2_DATA_ALIGN_LOG);
         }          }
         kdb_printf("0x%lx tail count %d\n",          kdb_printf("0x%lx tail count %d\n",
                 (unsigned long) ((char *)tail - (char *)addr),                  (unsigned long) ((char *)tail - (char *)addr),
                 INT_GET(tail->count, ARCH_CONVERT));                  be32_to_cpu(tail->count));
 }  }
   
 static void  static void
Line 5766  xfs_dir2leaf(xfs_dir2_leaf_t *leaf, int  Line 5767  xfs_dir2leaf(xfs_dir2_leaf_t *leaf, int 
         xfs_dir2_leaf_hdr_t *h;          xfs_dir2_leaf_hdr_t *h;
         xfs_da_blkinfo_t *i;          xfs_da_blkinfo_t *i;
         xfs_dir2_leaf_entry_t *e;          xfs_dir2_leaf_entry_t *e;
         xfs_dir2_data_off_t *b;  
         xfs_dir2_leaf_tail_t *t;          xfs_dir2_leaf_tail_t *t;
           __be16 *b;
         int j;          int j;
   
         h = &leaf->hdr;          h = &leaf->hdr;
         i = &h->info;          i = &h->info;
         e = leaf->ents;          e = leaf->ents;
         kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",          kdb_printf("hdr info forw 0x%x back 0x%x magic 0x%x\n",
                 INT_GET(i->forw, ARCH_CONVERT), INT_GET(i->back, ARCH_CONVERT), INT_GET(i->magic, ARCH_CONVERT));                  be32_to_cpu(i->forw), be32_to_cpu(i->back), be16_to_cpu(i->magic));
         kdb_printf("hdr count %d stale %d\n", INT_GET(h->count, ARCH_CONVERT), INT_GET(h->stale, ARCH_CONVERT));          kdb_printf("hdr count %d stale %d\n", be16_to_cpu(h->count), be16_to_cpu(h->stale));
         for (j = 0; j < INT_GET(h->count, ARCH_CONVERT); j++, e++) {          for (j = 0; j < be16_to_cpu(h->count); j++, e++) {
                 kdb_printf("0x%lx ent %d hashval 0x%x address 0x%x (byte 0x%x)\n",                  kdb_printf("0x%lx ent %d hashval 0x%x address 0x%x (byte 0x%x)\n",
                         (unsigned long) ((char *)e - (char *)leaf), j,                          (unsigned long) ((char *)e - (char *)leaf), j,
                         (uint_t)INT_GET(e->hashval, ARCH_CONVERT),                          be32_to_cpu(e->hashval),
                         INT_GET(e->address, ARCH_CONVERT),                          be32_to_cpu(e->address),
                         /* XFS_DIR2_DATAPTR_TO_BYTE */                          /* XFS_DIR2_DATAPTR_TO_BYTE */
                         INT_GET(e->address, ARCH_CONVERT) << XFS_DIR2_DATA_ALIGN_LOG);                          be32_to_cpu(e->address) << XFS_DIR2_DATA_ALIGN_LOG);
         }          }
         if (INT_GET(i->magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC)          if (be16_to_cpu(i->magic) == XFS_DIR2_LEAFN_MAGIC)
                 return;                  return;
         /* XFS_DIR2_LEAF_TAIL_P */          /* XFS_DIR2_LEAF_TAIL_P */
         t = (xfs_dir2_leaf_tail_t *)((char *)leaf + size - sizeof(*t));          t = (xfs_dir2_leaf_tail_t *)((char *)leaf + size - sizeof(*t));
         b = xfs_dir2_leaf_bests_p(t);          b = xfs_dir2_leaf_bests_p(t);
         for (j = 0; j < INT_GET(t->bestcount, ARCH_CONVERT); j++, b++) {          for (j = 0; j < be32_to_cpu(t->bestcount); j++, b++) {
                 kdb_printf("0x%lx best %d 0x%x\n",                  kdb_printf("0x%lx best %d 0x%x\n",
                         (unsigned long) ((char *)b - (char *)leaf), j,                          (unsigned long) ((char *)b - (char *)leaf), j,
                         INT_GET(*b, ARCH_CONVERT));                          be16_to_cpu(*b));
         }          }
         kdb_printf("tail bestcount %d\n", INT_GET(t->bestcount, ARCH_CONVERT));          kdb_printf("tail bestcount %d\n", be32_to_cpu(t->bestcount));
 }  }
   
 /*  /*
Line 5834  xfsidbg_xdir2free(xfs_dir2_free_t *f) Line 5835  xfsidbg_xdir2free(xfs_dir2_free_t *f)
         int     i;          int     i;
   
         kdb_printf("hdr magic 0x%x firstdb %d nvalid %d nused %d\n",          kdb_printf("hdr magic 0x%x firstdb %d nvalid %d nused %d\n",
                 INT_GET(f->hdr.magic, ARCH_CONVERT), INT_GET(f->hdr.firstdb, ARCH_CONVERT), INT_GET(f->hdr.nvalid, ARCH_CONVERT), INT_GET(f->hdr.nused, ARCH_CONVERT));                     be32_to_cpu(f->hdr.magic), be32_to_cpu(f->hdr.firstdb),
         for (i = 0; i < INT_GET(f->hdr.nvalid, ARCH_CONVERT); i++) {                     be32_to_cpu(f->hdr.nvalid), be32_to_cpu(f->hdr.nused));
           for (i = 0; i < be32_to_cpu(f->hdr.nvalid); i++) {
                 kdb_printf("entry %d db %d count %d\n",                  kdb_printf("entry %d db %d count %d\n",
                         i, i + INT_GET(f->hdr.firstdb, ARCH_CONVERT), INT_GET(f->bests[i], ARCH_CONVERT));                          i, i + be32_to_cpu(f->hdr.firstdb), be16_to_cpu(f->bests[i]));
         }          }
 }  }
   

Removed from v.1.317  
changed lines
  Added in v.1.318


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