Commit fac80cce0ecc6b10ae165af5b6b9b03151083044
1 parent
403432dcb5
Exists in
master
and in
7 other branches
[XFS] endianess annotations for xfs_da_node_hdr_t
SGI-PV: 943272 SGI-Modid: xfs-linux-melb:xfs-kern:25505a Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nathan Scott <nathans@sgi.com>
Showing 6 changed files with 86 additions and 85 deletions Side-by-side Diff
fs/xfs/xfs_attr.c
... | ... | @@ -1825,8 +1825,7 @@ |
1825 | 1825 | return(XFS_ERROR(EFSCORRUPTED)); |
1826 | 1826 | } |
1827 | 1827 | btree = node->btree; |
1828 | - for (i = 0; | |
1829 | - i < INT_GET(node->hdr.count, ARCH_CONVERT); | |
1828 | + for (i = 0; i < be16_to_cpu(node->hdr.count); | |
1830 | 1829 | btree++, i++) { |
1831 | 1830 | if (cursor->hashval |
1832 | 1831 | <= be32_to_cpu(btree->hashval)) { |
... | ... | @@ -1836,7 +1835,7 @@ |
1836 | 1835 | break; |
1837 | 1836 | } |
1838 | 1837 | } |
1839 | - if (i == INT_GET(node->hdr.count, ARCH_CONVERT)) { | |
1838 | + if (i == be16_to_cpu(node->hdr.count)) { | |
1840 | 1839 | xfs_da_brelse(NULL, bp); |
1841 | 1840 | return(0); |
1842 | 1841 | } |
1843 | 1842 | |
... | ... | @@ -2226,9 +2225,10 @@ |
2226 | 2225 | : 0, |
2227 | 2226 | (__psunsigned_t)context->dupcnt, |
2228 | 2227 | (__psunsigned_t)context->flags, |
2229 | - (__psunsigned_t)INT_GET(node->hdr.count, ARCH_CONVERT), | |
2228 | + (__psunsigned_t)be16_to_cpu(node->hdr.count), | |
2230 | 2229 | (__psunsigned_t)be32_to_cpu(node->btree[0].hashval), |
2231 | - (__psunsigned_t)be32_to_cpu(node->btree[INT_GET(node->hdr.count, ARCH_CONVERT)-1].hashval)); | |
2230 | + (__psunsigned_t)be32_to_cpu(node->btree[ | |
2231 | + be16_to_cpu(node->hdr.count)-1].hashval)); | |
2232 | 2232 | } |
2233 | 2233 | |
2234 | 2234 | /* |
fs/xfs/xfs_attr_leaf.c
... | ... | @@ -870,7 +870,7 @@ |
870 | 870 | node->btree[0].hashval = |
871 | 871 | leaf->entries[be16_to_cpu(leaf->hdr.count)-1 ].hashval; |
872 | 872 | node->btree[0].before = cpu_to_be32(blkno); |
873 | - INT_SET(node->hdr.count, ARCH_CONVERT, 1); | |
873 | + node->hdr.count = cpu_to_be16(1); | |
874 | 874 | xfs_da_log_buf(args->trans, bp1, 0, XFS_LBSIZE(dp->i_mount) - 1); |
875 | 875 | error = 0; |
876 | 876 | out: |
... | ... | @@ -2804,7 +2804,7 @@ |
2804 | 2804 | node = bp->data; |
2805 | 2805 | ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
2806 | 2806 | parent_blkno = xfs_da_blkno(bp); /* save for re-read later */ |
2807 | - count = INT_GET(node->hdr.count, ARCH_CONVERT); | |
2807 | + count = be16_to_cpu(node->hdr.count); | |
2808 | 2808 | if (!count) { |
2809 | 2809 | xfs_da_brelse(*trans, bp); |
2810 | 2810 | return(0); |
fs/xfs/xfs_da_btree.c
... | ... | @@ -129,7 +129,7 @@ |
129 | 129 | node->hdr.info.magic = cpu_to_be16(XFS_DA_NODE_MAGIC); |
130 | 130 | node->hdr.info.pad = 0; |
131 | 131 | node->hdr.count = 0; |
132 | - INT_SET(node->hdr.level, ARCH_CONVERT, level); | |
132 | + node->hdr.level = cpu_to_be16(level); | |
133 | 133 | |
134 | 134 | xfs_da_log_buf(tp, bp, |
135 | 135 | XFS_DA_LOGRANGE(node, &node->hdr, sizeof(node->hdr))); |
... | ... | @@ -360,7 +360,7 @@ |
360 | 360 | node = bp->data; |
361 | 361 | oldroot = blk1->bp->data; |
362 | 362 | if (be16_to_cpu(oldroot->hdr.info.magic) == XFS_DA_NODE_MAGIC) { |
363 | - size = (int)((char *)&oldroot->btree[INT_GET(oldroot->hdr.count, ARCH_CONVERT)] - | |
363 | + size = (int)((char *)&oldroot->btree[be16_to_cpu(oldroot->hdr.count)] - | |
364 | 364 | (char *)oldroot); |
365 | 365 | } else { |
366 | 366 | ASSERT(XFS_DIR_IS_V2(mp)); |
... | ... | @@ -381,7 +381,7 @@ |
381 | 381 | error = xfs_da_node_create(args, |
382 | 382 | args->whichfork == XFS_DATA_FORK && |
383 | 383 | XFS_DIR_IS_V2(mp) ? mp->m_dirleafblk : 0, |
384 | - INT_GET(node->hdr.level, ARCH_CONVERT) + 1, &bp, args->whichfork); | |
384 | + be16_to_cpu(node->hdr.level) + 1, &bp, args->whichfork); | |
385 | 385 | if (error) |
386 | 386 | return(error); |
387 | 387 | node = bp->data; |
... | ... | @@ -389,7 +389,7 @@ |
389 | 389 | node->btree[0].before = cpu_to_be32(blk1->blkno); |
390 | 390 | node->btree[1].hashval = cpu_to_be32(blk2->hashval); |
391 | 391 | node->btree[1].before = cpu_to_be32(blk2->blkno); |
392 | - INT_SET(node->hdr.count, ARCH_CONVERT, 2); | |
392 | + node->hdr.count = cpu_to_be16(2); | |
393 | 393 | |
394 | 394 | #ifdef DEBUG |
395 | 395 | if (be16_to_cpu(oldroot->hdr.info.magic) == XFS_DIR2_LEAFN_MAGIC) { |
... | ... | @@ -435,7 +435,7 @@ |
435 | 435 | /* |
436 | 436 | * Do we have to split the node? |
437 | 437 | */ |
438 | - if ((INT_GET(node->hdr.count, ARCH_CONVERT) + newcount) > state->node_ents) { | |
438 | + if ((be16_to_cpu(node->hdr.count) + newcount) > state->node_ents) { | |
439 | 439 | /* |
440 | 440 | * Allocate a new node, add to the doubly linked chain of |
441 | 441 | * nodes, then move some of our excess entries into it. |
... | ... | @@ -472,7 +472,7 @@ |
472 | 472 | * If we had double-split op below us, then add the extra block too. |
473 | 473 | */ |
474 | 474 | node = oldblk->bp->data; |
475 | - if (oldblk->index <= INT_GET(node->hdr.count, ARCH_CONVERT)) { | |
475 | + if (oldblk->index <= be16_to_cpu(node->hdr.count)) { | |
476 | 476 | oldblk->index++; |
477 | 477 | xfs_da_node_add(state, oldblk, addblk); |
478 | 478 | if (useextra) { |
479 | 479 | |
480 | 480 | |
... | ... | @@ -516,17 +516,17 @@ |
516 | 516 | * Figure out how many entries need to move, and in which direction. |
517 | 517 | * Swap the nodes around if that makes it simpler. |
518 | 518 | */ |
519 | - if ((INT_GET(node1->hdr.count, ARCH_CONVERT) > 0) && (INT_GET(node2->hdr.count, ARCH_CONVERT) > 0) && | |
519 | + if ((be16_to_cpu(node1->hdr.count) > 0) && (be16_to_cpu(node2->hdr.count) > 0) && | |
520 | 520 | ((be32_to_cpu(node2->btree[0].hashval) < be32_to_cpu(node1->btree[0].hashval)) || |
521 | - (be32_to_cpu(node2->btree[INT_GET(node2->hdr.count, ARCH_CONVERT)-1].hashval) < | |
522 | - be32_to_cpu(node1->btree[INT_GET(node1->hdr.count, ARCH_CONVERT)-1].hashval)))) { | |
521 | + (be32_to_cpu(node2->btree[be16_to_cpu(node2->hdr.count)-1].hashval) < | |
522 | + be32_to_cpu(node1->btree[be16_to_cpu(node1->hdr.count)-1].hashval)))) { | |
523 | 523 | tmpnode = node1; |
524 | 524 | node1 = node2; |
525 | 525 | node2 = tmpnode; |
526 | 526 | } |
527 | 527 | ASSERT(be16_to_cpu(node1->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
528 | 528 | ASSERT(be16_to_cpu(node2->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
529 | - count = (INT_GET(node1->hdr.count, ARCH_CONVERT) - INT_GET(node2->hdr.count, ARCH_CONVERT)) / 2; | |
529 | + count = (be16_to_cpu(node1->hdr.count) - be16_to_cpu(node2->hdr.count)) / 2; | |
530 | 530 | if (count == 0) |
531 | 531 | return; |
532 | 532 | tp = state->args->trans; |
... | ... | @@ -537,7 +537,7 @@ |
537 | 537 | /* |
538 | 538 | * Move elements in node2 up to make a hole. |
539 | 539 | */ |
540 | - if ((tmp = INT_GET(node2->hdr.count, ARCH_CONVERT)) > 0) { | |
540 | + if ((tmp = be16_to_cpu(node2->hdr.count)) > 0) { | |
541 | 541 | tmp *= (uint)sizeof(xfs_da_node_entry_t); |
542 | 542 | btree_s = &node2->btree[0]; |
543 | 543 | btree_d = &node2->btree[count]; |
544 | 544 | |
545 | 545 | |
... | ... | @@ -548,13 +548,12 @@ |
548 | 548 | * Move the req'd B-tree elements from high in node1 to |
549 | 549 | * low in node2. |
550 | 550 | */ |
551 | - INT_MOD(node2->hdr.count, ARCH_CONVERT, count); | |
551 | + be16_add(&node2->hdr.count, count); | |
552 | 552 | tmp = count * (uint)sizeof(xfs_da_node_entry_t); |
553 | - btree_s = &node1->btree[INT_GET(node1->hdr.count, ARCH_CONVERT) - count]; | |
553 | + btree_s = &node1->btree[be16_to_cpu(node1->hdr.count) - count]; | |
554 | 554 | btree_d = &node2->btree[0]; |
555 | 555 | memcpy(btree_d, btree_s, tmp); |
556 | - INT_MOD(node1->hdr.count, ARCH_CONVERT, -(count)); | |
557 | - | |
556 | + be16_add(&node1->hdr.count, -count); | |
558 | 557 | } else { |
559 | 558 | /* |
560 | 559 | * Move the req'd B-tree elements from low in node2 to |
561 | 560 | |
562 | 561 | |
563 | 562 | |
... | ... | @@ -563,21 +562,21 @@ |
563 | 562 | count = -count; |
564 | 563 | tmp = count * (uint)sizeof(xfs_da_node_entry_t); |
565 | 564 | btree_s = &node2->btree[0]; |
566 | - btree_d = &node1->btree[INT_GET(node1->hdr.count, ARCH_CONVERT)]; | |
565 | + btree_d = &node1->btree[be16_to_cpu(node1->hdr.count)]; | |
567 | 566 | memcpy(btree_d, btree_s, tmp); |
568 | - INT_MOD(node1->hdr.count, ARCH_CONVERT, count); | |
567 | + be16_add(&node1->hdr.count, count); | |
569 | 568 | xfs_da_log_buf(tp, blk1->bp, |
570 | 569 | XFS_DA_LOGRANGE(node1, btree_d, tmp)); |
571 | 570 | |
572 | 571 | /* |
573 | 572 | * Move elements in node2 down to fill the hole. |
574 | 573 | */ |
575 | - tmp = INT_GET(node2->hdr.count, ARCH_CONVERT) - count; | |
574 | + tmp = be16_to_cpu(node2->hdr.count) - count; | |
576 | 575 | tmp *= (uint)sizeof(xfs_da_node_entry_t); |
577 | 576 | btree_s = &node2->btree[count]; |
578 | 577 | btree_d = &node2->btree[0]; |
579 | 578 | memmove(btree_d, btree_s, tmp); |
580 | - INT_MOD(node2->hdr.count, ARCH_CONVERT, -(count)); | |
579 | + be16_add(&node2->hdr.count, -count); | |
581 | 580 | } |
582 | 581 | |
583 | 582 | /* |
... | ... | @@ -588,7 +587,7 @@ |
588 | 587 | xfs_da_log_buf(tp, blk2->bp, |
589 | 588 | XFS_DA_LOGRANGE(node2, &node2->hdr, |
590 | 589 | sizeof(node2->hdr) + |
591 | - sizeof(node2->btree[0]) * INT_GET(node2->hdr.count, ARCH_CONVERT))); | |
590 | + sizeof(node2->btree[0]) * be16_to_cpu(node2->hdr.count))); | |
592 | 591 | |
593 | 592 | /* |
594 | 593 | * Record the last hashval from each block for upward propagation. |
595 | 594 | |
... | ... | @@ -596,15 +595,15 @@ |
596 | 595 | */ |
597 | 596 | node1 = blk1->bp->data; |
598 | 597 | node2 = blk2->bp->data; |
599 | - blk1->hashval = be32_to_cpu(node1->btree[ INT_GET(node1->hdr.count, ARCH_CONVERT)-1 ].hashval); | |
600 | - blk2->hashval = be32_to_cpu(node2->btree[ INT_GET(node2->hdr.count, ARCH_CONVERT)-1 ].hashval); | |
598 | + blk1->hashval = be32_to_cpu(node1->btree[be16_to_cpu(node1->hdr.count)-1].hashval); | |
599 | + blk2->hashval = be32_to_cpu(node2->btree[be16_to_cpu(node2->hdr.count)-1].hashval); | |
601 | 600 | |
602 | 601 | /* |
603 | 602 | * Adjust the expected index for insertion. |
604 | 603 | */ |
605 | - if (blk1->index >= INT_GET(node1->hdr.count, ARCH_CONVERT)) { | |
606 | - blk2->index = blk1->index - INT_GET(node1->hdr.count, ARCH_CONVERT); | |
607 | - blk1->index = INT_GET(node1->hdr.count, ARCH_CONVERT) + 1; /* make it invalid */ | |
604 | + if (blk1->index >= be16_to_cpu(node1->hdr.count)) { | |
605 | + blk2->index = blk1->index - be16_to_cpu(node1->hdr.count); | |
606 | + blk1->index = be16_to_cpu(node1->hdr.count) + 1; /* make it invalid */ | |
608 | 607 | } |
609 | 608 | } |
610 | 609 | |
... | ... | @@ -623,7 +622,7 @@ |
623 | 622 | node = oldblk->bp->data; |
624 | 623 | mp = state->mp; |
625 | 624 | ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
626 | - ASSERT((oldblk->index >= 0) && (oldblk->index <= INT_GET(node->hdr.count, ARCH_CONVERT))); | |
625 | + ASSERT((oldblk->index >= 0) && (oldblk->index <= be16_to_cpu(node->hdr.count))); | |
627 | 626 | ASSERT(newblk->blkno != 0); |
628 | 627 | if (state->args->whichfork == XFS_DATA_FORK && XFS_DIR_IS_V2(mp)) |
629 | 628 | ASSERT(newblk->blkno >= mp->m_dirleafblk && |
630 | 629 | |
631 | 630 | |
... | ... | @@ -634,22 +633,22 @@ |
634 | 633 | */ |
635 | 634 | tmp = 0; |
636 | 635 | btree = &node->btree[ oldblk->index ]; |
637 | - if (oldblk->index < INT_GET(node->hdr.count, ARCH_CONVERT)) { | |
638 | - tmp = (INT_GET(node->hdr.count, ARCH_CONVERT) - oldblk->index) * (uint)sizeof(*btree); | |
636 | + if (oldblk->index < be16_to_cpu(node->hdr.count)) { | |
637 | + tmp = (be16_to_cpu(node->hdr.count) - oldblk->index) * (uint)sizeof(*btree); | |
639 | 638 | memmove(btree + 1, btree, tmp); |
640 | 639 | } |
641 | 640 | btree->hashval = cpu_to_be32(newblk->hashval); |
642 | 641 | btree->before = cpu_to_be32(newblk->blkno); |
643 | 642 | xfs_da_log_buf(state->args->trans, oldblk->bp, |
644 | 643 | XFS_DA_LOGRANGE(node, btree, tmp + sizeof(*btree))); |
645 | - INT_MOD(node->hdr.count, ARCH_CONVERT, +1); | |
644 | + be16_add(&node->hdr.count, 1); | |
646 | 645 | xfs_da_log_buf(state->args->trans, oldblk->bp, |
647 | 646 | XFS_DA_LOGRANGE(node, &node->hdr, sizeof(node->hdr))); |
648 | 647 | |
649 | 648 | /* |
650 | 649 | * Copy the last hash value from the oldblk to propagate upwards. |
651 | 650 | */ |
652 | - oldblk->hashval = be32_to_cpu(node->btree[ INT_GET(node->hdr.count, ARCH_CONVERT)-1 ].hashval); | |
651 | + oldblk->hashval = be32_to_cpu(node->btree[be16_to_cpu(node->hdr.count)-1 ].hashval); | |
653 | 652 | } |
654 | 653 | |
655 | 654 | /*======================================================================== |
... | ... | @@ -775,7 +774,7 @@ |
775 | 774 | /* |
776 | 775 | * If the root has more than one child, then don't do anything. |
777 | 776 | */ |
778 | - if (INT_GET(oldroot->hdr.count, ARCH_CONVERT) > 1) | |
777 | + if (be16_to_cpu(oldroot->hdr.count) > 1) | |
779 | 778 | return(0); |
780 | 779 | |
781 | 780 | /* |
... | ... | @@ -790,7 +789,7 @@ |
790 | 789 | return(error); |
791 | 790 | ASSERT(bp != NULL); |
792 | 791 | blkinfo = bp->data; |
793 | - if (INT_GET(oldroot->hdr.level, ARCH_CONVERT) == 1) { | |
792 | + if (be16_to_cpu(oldroot->hdr.level) == 1) { | |
794 | 793 | ASSERT(be16_to_cpu(blkinfo->magic) == XFS_DIRX_LEAF_MAGIC(state->mp) || |
795 | 794 | be16_to_cpu(blkinfo->magic) == XFS_ATTR_LEAF_MAGIC); |
796 | 795 | } else { |
... | ... | @@ -832,7 +831,7 @@ |
832 | 831 | info = blk->bp->data; |
833 | 832 | ASSERT(be16_to_cpu(info->magic) == XFS_DA_NODE_MAGIC); |
834 | 833 | node = (xfs_da_intnode_t *)info; |
835 | - count = INT_GET(node->hdr.count, ARCH_CONVERT); | |
834 | + count = be16_to_cpu(node->hdr.count); | |
836 | 835 | if (count > (state->node_ents >> 1)) { |
837 | 836 | *action = 0; /* blk over 50%, don't try to join */ |
838 | 837 | return(0); /* blk over 50%, don't try to join */ |
839 | 838 | |
... | ... | @@ -888,10 +887,10 @@ |
888 | 887 | node = (xfs_da_intnode_t *)info; |
889 | 888 | count = state->node_ents; |
890 | 889 | count -= state->node_ents >> 2; |
891 | - count -= INT_GET(node->hdr.count, ARCH_CONVERT); | |
890 | + count -= be16_to_cpu(node->hdr.count); | |
892 | 891 | node = bp->data; |
893 | 892 | ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
894 | - count -= INT_GET(node->hdr.count, ARCH_CONVERT); | |
893 | + count -= be16_to_cpu(node->hdr.count); | |
895 | 894 | xfs_da_brelse(state->args->trans, bp); |
896 | 895 | if (count >= 0) |
897 | 896 | break; /* fits with at least 25% to spare */ |
... | ... | @@ -981,7 +980,7 @@ |
981 | 980 | xfs_da_log_buf(state->args->trans, blk->bp, |
982 | 981 | XFS_DA_LOGRANGE(node, btree, sizeof(*btree))); |
983 | 982 | |
984 | - lasthash = be32_to_cpu(node->btree[ INT_GET(node->hdr.count, ARCH_CONVERT)-1 ].hashval); | |
983 | + lasthash = be32_to_cpu(node->btree[be16_to_cpu(node->hdr.count)-1].hashval); | |
985 | 984 | } |
986 | 985 | } |
987 | 986 | |
988 | 987 | |
989 | 988 | |
990 | 989 | |
... | ... | @@ -996,25 +995,25 @@ |
996 | 995 | int tmp; |
997 | 996 | |
998 | 997 | node = drop_blk->bp->data; |
999 | - ASSERT(drop_blk->index < INT_GET(node->hdr.count, ARCH_CONVERT)); | |
998 | + ASSERT(drop_blk->index < be16_to_cpu(node->hdr.count)); | |
1000 | 999 | ASSERT(drop_blk->index >= 0); |
1001 | 1000 | |
1002 | 1001 | /* |
1003 | 1002 | * Copy over the offending entry, or just zero it out. |
1004 | 1003 | */ |
1005 | 1004 | btree = &node->btree[drop_blk->index]; |
1006 | - if (drop_blk->index < (INT_GET(node->hdr.count, ARCH_CONVERT)-1)) { | |
1007 | - tmp = INT_GET(node->hdr.count, ARCH_CONVERT) - drop_blk->index - 1; | |
1005 | + if (drop_blk->index < (be16_to_cpu(node->hdr.count)-1)) { | |
1006 | + tmp = be16_to_cpu(node->hdr.count) - drop_blk->index - 1; | |
1008 | 1007 | tmp *= (uint)sizeof(xfs_da_node_entry_t); |
1009 | 1008 | memmove(btree, btree + 1, tmp); |
1010 | 1009 | xfs_da_log_buf(state->args->trans, drop_blk->bp, |
1011 | 1010 | XFS_DA_LOGRANGE(node, btree, tmp)); |
1012 | - btree = &node->btree[ INT_GET(node->hdr.count, ARCH_CONVERT)-1 ]; | |
1011 | + btree = &node->btree[be16_to_cpu(node->hdr.count)-1]; | |
1013 | 1012 | } |
1014 | 1013 | memset((char *)btree, 0, sizeof(xfs_da_node_entry_t)); |
1015 | 1014 | xfs_da_log_buf(state->args->trans, drop_blk->bp, |
1016 | 1015 | XFS_DA_LOGRANGE(node, btree, sizeof(*btree))); |
1017 | - INT_MOD(node->hdr.count, ARCH_CONVERT, -1); | |
1016 | + be16_add(&node->hdr.count, -1); | |
1018 | 1017 | xfs_da_log_buf(state->args->trans, drop_blk->bp, |
1019 | 1018 | XFS_DA_LOGRANGE(node, &node->hdr, sizeof(node->hdr))); |
1020 | 1019 | |
1021 | 1020 | |
1022 | 1021 | |
1023 | 1022 | |
1024 | 1023 | |
1025 | 1024 | |
1026 | 1025 | |
... | ... | @@ -1049,31 +1048,31 @@ |
1049 | 1048 | * elements in the remaining block up to make a hole. |
1050 | 1049 | */ |
1051 | 1050 | if ((be32_to_cpu(drop_node->btree[0].hashval) < be32_to_cpu(save_node->btree[ 0 ].hashval)) || |
1052 | - (be32_to_cpu(drop_node->btree[INT_GET(drop_node->hdr.count, ARCH_CONVERT)-1].hashval) < | |
1053 | - be32_to_cpu(save_node->btree[INT_GET(save_node->hdr.count, ARCH_CONVERT)-1 ].hashval))) | |
1051 | + (be32_to_cpu(drop_node->btree[be16_to_cpu(drop_node->hdr.count)-1].hashval) < | |
1052 | + be32_to_cpu(save_node->btree[be16_to_cpu(save_node->hdr.count)-1].hashval))) | |
1054 | 1053 | { |
1055 | - btree = &save_node->btree[ INT_GET(drop_node->hdr.count, ARCH_CONVERT) ]; | |
1056 | - tmp = INT_GET(save_node->hdr.count, ARCH_CONVERT) * (uint)sizeof(xfs_da_node_entry_t); | |
1054 | + btree = &save_node->btree[be16_to_cpu(drop_node->hdr.count)]; | |
1055 | + tmp = be16_to_cpu(save_node->hdr.count) * (uint)sizeof(xfs_da_node_entry_t); | |
1057 | 1056 | memmove(btree, &save_node->btree[0], tmp); |
1058 | 1057 | btree = &save_node->btree[0]; |
1059 | 1058 | xfs_da_log_buf(tp, save_blk->bp, |
1060 | 1059 | XFS_DA_LOGRANGE(save_node, btree, |
1061 | - (INT_GET(save_node->hdr.count, ARCH_CONVERT) + INT_GET(drop_node->hdr.count, ARCH_CONVERT)) * | |
1060 | + (be16_to_cpu(save_node->hdr.count) + be16_to_cpu(drop_node->hdr.count)) * | |
1062 | 1061 | sizeof(xfs_da_node_entry_t))); |
1063 | 1062 | } else { |
1064 | - btree = &save_node->btree[ INT_GET(save_node->hdr.count, ARCH_CONVERT) ]; | |
1063 | + btree = &save_node->btree[be16_to_cpu(save_node->hdr.count)]; | |
1065 | 1064 | xfs_da_log_buf(tp, save_blk->bp, |
1066 | 1065 | XFS_DA_LOGRANGE(save_node, btree, |
1067 | - INT_GET(drop_node->hdr.count, ARCH_CONVERT) * | |
1066 | + be16_to_cpu(drop_node->hdr.count) * | |
1068 | 1067 | sizeof(xfs_da_node_entry_t))); |
1069 | 1068 | } |
1070 | 1069 | |
1071 | 1070 | /* |
1072 | 1071 | * Move all the B-tree elements from drop_blk to save_blk. |
1073 | 1072 | */ |
1074 | - tmp = INT_GET(drop_node->hdr.count, ARCH_CONVERT) * (uint)sizeof(xfs_da_node_entry_t); | |
1073 | + tmp = be16_to_cpu(drop_node->hdr.count) * (uint)sizeof(xfs_da_node_entry_t); | |
1075 | 1074 | memcpy(btree, &drop_node->btree[0], tmp); |
1076 | - INT_MOD(save_node->hdr.count, ARCH_CONVERT, INT_GET(drop_node->hdr.count, ARCH_CONVERT)); | |
1075 | + be16_add(&save_node->hdr.count, be16_to_cpu(drop_node->hdr.count)); | |
1077 | 1076 | |
1078 | 1077 | xfs_da_log_buf(tp, save_blk->bp, |
1079 | 1078 | XFS_DA_LOGRANGE(save_node, &save_node->hdr, |
... | ... | @@ -1082,7 +1081,7 @@ |
1082 | 1081 | /* |
1083 | 1082 | * Save the last hashval in the remaining block for upward propagation. |
1084 | 1083 | */ |
1085 | - save_blk->hashval = be32_to_cpu(save_node->btree[ INT_GET(save_node->hdr.count, ARCH_CONVERT)-1 ].hashval); | |
1084 | + save_blk->hashval = be32_to_cpu(save_node->btree[be16_to_cpu(save_node->hdr.count)-1].hashval); | |
1086 | 1085 | } |
1087 | 1086 | |
1088 | 1087 | /*======================================================================== |
1089 | 1088 | |
... | ... | @@ -1147,12 +1146,12 @@ |
1147 | 1146 | blk->magic = be16_to_cpu(curr->magic); |
1148 | 1147 | if (blk->magic == XFS_DA_NODE_MAGIC) { |
1149 | 1148 | node = blk->bp->data; |
1150 | - blk->hashval = be32_to_cpu(node->btree[INT_GET(node->hdr.count, ARCH_CONVERT)-1].hashval); | |
1149 | + blk->hashval = be32_to_cpu(node->btree[be16_to_cpu(node->hdr.count)-1].hashval); | |
1151 | 1150 | |
1152 | 1151 | /* |
1153 | 1152 | * Binary search. (note: small blocks will skip loop) |
1154 | 1153 | */ |
1155 | - max = INT_GET(node->hdr.count, ARCH_CONVERT); | |
1154 | + max = be16_to_cpu(node->hdr.count); | |
1156 | 1155 | probe = span = max / 2; |
1157 | 1156 | hashval = args->hashval; |
1158 | 1157 | for (btree = &node->btree[probe]; span > 4; |
1159 | 1158 | |
... | ... | @@ -1358,11 +1357,11 @@ |
1358 | 1357 | node2 = node2_bp->data; |
1359 | 1358 | ASSERT((be16_to_cpu(node1->hdr.info.magic) == XFS_DA_NODE_MAGIC) && |
1360 | 1359 | (be16_to_cpu(node2->hdr.info.magic) == XFS_DA_NODE_MAGIC)); |
1361 | - if ((INT_GET(node1->hdr.count, ARCH_CONVERT) > 0) && (INT_GET(node2->hdr.count, ARCH_CONVERT) > 0) && | |
1360 | + if ((be16_to_cpu(node1->hdr.count) > 0) && (be16_to_cpu(node2->hdr.count) > 0) && | |
1362 | 1361 | ((be32_to_cpu(node2->btree[0].hashval) < |
1363 | 1362 | be32_to_cpu(node1->btree[0].hashval)) || |
1364 | - (be32_to_cpu(node2->btree[INT_GET(node2->hdr.count, ARCH_CONVERT)-1].hashval) < | |
1365 | - be32_to_cpu(node1->btree[INT_GET(node1->hdr.count, ARCH_CONVERT)-1].hashval)))) { | |
1363 | + (be32_to_cpu(node2->btree[be16_to_cpu(node2->hdr.count)-1].hashval) < | |
1364 | + be32_to_cpu(node1->btree[be16_to_cpu(node1->hdr.count)-1].hashval)))) { | |
1366 | 1365 | return(1); |
1367 | 1366 | } |
1368 | 1367 | return(0); |
1369 | 1368 | |
... | ... | @@ -1379,10 +1378,10 @@ |
1379 | 1378 | node = bp->data; |
1380 | 1379 | ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
1381 | 1380 | if (count) |
1382 | - *count = INT_GET(node->hdr.count, ARCH_CONVERT); | |
1381 | + *count = be16_to_cpu(node->hdr.count); | |
1383 | 1382 | if (!node->hdr.count) |
1384 | 1383 | return(0); |
1385 | - return be32_to_cpu(node->btree[INT_GET(node->hdr.count, ARCH_CONVERT)-1].hashval); | |
1384 | + return be32_to_cpu(node->btree[be16_to_cpu(node->hdr.count)-1].hashval); | |
1386 | 1385 | } |
1387 | 1386 | |
1388 | 1387 | /* |
... | ... | @@ -1491,7 +1490,7 @@ |
1491 | 1490 | ASSERT(blk->bp != NULL); |
1492 | 1491 | node = blk->bp->data; |
1493 | 1492 | ASSERT(be16_to_cpu(node->hdr.info.magic) == XFS_DA_NODE_MAGIC); |
1494 | - if (forward && (blk->index < INT_GET(node->hdr.count, ARCH_CONVERT)-1)) { | |
1493 | + if (forward && (blk->index < be16_to_cpu(node->hdr.count)-1)) { | |
1495 | 1494 | blk->index++; |
1496 | 1495 | blkno = be32_to_cpu(node->btree[blk->index].before); |
1497 | 1496 | break; |
1498 | 1497 | |
... | ... | @@ -1535,11 +1534,11 @@ |
1535 | 1534 | blk->magic = be16_to_cpu(info->magic); |
1536 | 1535 | if (blk->magic == XFS_DA_NODE_MAGIC) { |
1537 | 1536 | node = (xfs_da_intnode_t *)info; |
1538 | - blk->hashval = be32_to_cpu(node->btree[INT_GET(node->hdr.count, ARCH_CONVERT)-1].hashval); | |
1537 | + blk->hashval = be32_to_cpu(node->btree[be16_to_cpu(node->hdr.count)-1].hashval); | |
1539 | 1538 | if (forward) |
1540 | 1539 | blk->index = 0; |
1541 | 1540 | else |
1542 | - blk->index = INT_GET(node->hdr.count, ARCH_CONVERT)-1; | |
1541 | + blk->index = be16_to_cpu(node->hdr.count)-1; | |
1543 | 1542 | blkno = be32_to_cpu(node->btree[blk->index].before); |
1544 | 1543 | } else { |
1545 | 1544 | ASSERT(level == path->active-1); |
... | ... | @@ -1795,8 +1794,8 @@ |
1795 | 1794 | } else { |
1796 | 1795 | ASSERT(be16_to_cpu(dead_info->magic) == XFS_DA_NODE_MAGIC); |
1797 | 1796 | dead_node = (xfs_da_intnode_t *)dead_info; |
1798 | - dead_level = INT_GET(dead_node->hdr.level, ARCH_CONVERT); | |
1799 | - dead_hash = be32_to_cpu(dead_node->btree[INT_GET(dead_node->hdr.count, ARCH_CONVERT) - 1].hashval); | |
1797 | + dead_level = be16_to_cpu(dead_node->hdr.level); | |
1798 | + dead_hash = be32_to_cpu(dead_node->btree[be16_to_cpu(dead_node->hdr.count) - 1].hashval); | |
1800 | 1799 | } |
1801 | 1800 | sib_buf = par_buf = NULL; |
1802 | 1801 | /* |
1803 | 1802 | |
1804 | 1803 | |
1805 | 1804 | |
... | ... | @@ -1854,19 +1853,19 @@ |
1854 | 1853 | par_node = par_buf->data; |
1855 | 1854 | if (unlikely( |
1856 | 1855 | be16_to_cpu(par_node->hdr.info.magic) != XFS_DA_NODE_MAGIC || |
1857 | - (level >= 0 && level != INT_GET(par_node->hdr.level, ARCH_CONVERT) + 1))) { | |
1856 | + (level >= 0 && level != be16_to_cpu(par_node->hdr.level) + 1))) { | |
1858 | 1857 | XFS_ERROR_REPORT("xfs_da_swap_lastblock(4)", |
1859 | 1858 | XFS_ERRLEVEL_LOW, mp); |
1860 | 1859 | error = XFS_ERROR(EFSCORRUPTED); |
1861 | 1860 | goto done; |
1862 | 1861 | } |
1863 | - level = INT_GET(par_node->hdr.level, ARCH_CONVERT); | |
1862 | + level = be16_to_cpu(par_node->hdr.level); | |
1864 | 1863 | for (entno = 0; |
1865 | - entno < INT_GET(par_node->hdr.count, ARCH_CONVERT) && | |
1864 | + entno < be16_to_cpu(par_node->hdr.count) && | |
1866 | 1865 | be32_to_cpu(par_node->btree[entno].hashval) < dead_hash; |
1867 | 1866 | entno++) |
1868 | 1867 | continue; |
1869 | - if (unlikely(entno == INT_GET(par_node->hdr.count, ARCH_CONVERT))) { | |
1868 | + if (unlikely(entno == be16_to_cpu(par_node->hdr.count))) { | |
1870 | 1869 | XFS_ERROR_REPORT("xfs_da_swap_lastblock(5)", |
1871 | 1870 | XFS_ERRLEVEL_LOW, mp); |
1872 | 1871 | error = XFS_ERROR(EFSCORRUPTED); |
1873 | 1872 | |
... | ... | @@ -1884,11 +1883,11 @@ |
1884 | 1883 | */ |
1885 | 1884 | for (;;) { |
1886 | 1885 | for (; |
1887 | - entno < INT_GET(par_node->hdr.count, ARCH_CONVERT) && | |
1886 | + entno < be16_to_cpu(par_node->hdr.count) && | |
1888 | 1887 | be32_to_cpu(par_node->btree[entno].before) != last_blkno; |
1889 | 1888 | entno++) |
1890 | 1889 | continue; |
1891 | - if (entno < INT_GET(par_node->hdr.count, ARCH_CONVERT)) | |
1890 | + if (entno < be16_to_cpu(par_node->hdr.count)) | |
1892 | 1891 | break; |
1893 | 1892 | par_blkno = be32_to_cpu(par_node->hdr.info.forw); |
1894 | 1893 | xfs_da_brelse(tp, par_buf); |
... | ... | @@ -1903,7 +1902,7 @@ |
1903 | 1902 | goto done; |
1904 | 1903 | par_node = par_buf->data; |
1905 | 1904 | if (unlikely( |
1906 | - INT_GET(par_node->hdr.level, ARCH_CONVERT) != level || | |
1905 | + be16_to_cpu(par_node->hdr.level) != level || | |
1907 | 1906 | be16_to_cpu(par_node->hdr.info.magic) != XFS_DA_NODE_MAGIC)) { |
1908 | 1907 | XFS_ERROR_REPORT("xfs_da_swap_lastblock(7)", |
1909 | 1908 | XFS_ERRLEVEL_LOW, mp); |
fs/xfs/xfs_da_btree.h
... | ... | @@ -65,8 +65,8 @@ |
65 | 65 | typedef struct xfs_da_intnode { |
66 | 66 | struct xfs_da_node_hdr { /* constant-structure header block */ |
67 | 67 | xfs_da_blkinfo_t info; /* block type, links, etc. */ |
68 | - __uint16_t count; /* count of active entries */ | |
69 | - __uint16_t level; /* level above leaves (leaf == 0) */ | |
68 | + __be16 count; /* count of active entries */ | |
69 | + __be16 level; /* level above leaves (leaf == 0) */ | |
70 | 70 | } hdr; |
71 | 71 | struct xfs_da_node_entry { |
72 | 72 | __be32 hashval; /* hash value for this descendant */ |
fs/xfs/xfs_dir.c
... | ... | @@ -953,13 +953,13 @@ |
953 | 953 | break; |
954 | 954 | btree = &node->btree[0]; |
955 | 955 | xfs_dir_trace_g_dun("node: node detail", dp, uio, node); |
956 | - for (i = 0; i < INT_GET(node->hdr.count, ARCH_CONVERT); btree++, i++) { | |
956 | + for (i = 0; i < be16_to_cpu(node->hdr.count); btree++, i++) { | |
957 | 957 | if (be32_to_cpu(btree->hashval) >= cookhash) { |
958 | 958 | bno = be32_to_cpu(btree->before); |
959 | 959 | break; |
960 | 960 | } |
961 | 961 | } |
962 | - if (i == INT_GET(node->hdr.count, ARCH_CONVERT)) { | |
962 | + if (i == be16_to_cpu(node->hdr.count)) { | |
963 | 963 | xfs_da_brelse(trans, bp); |
964 | 964 | xfs_dir_trace_g_du("node: hash beyond EOF", |
965 | 965 | dp, uio); |
... | ... | @@ -1118,7 +1118,7 @@ |
1118 | 1118 | xfs_dir_trace_g_dun(char *where, xfs_inode_t *dp, uio_t *uio, |
1119 | 1119 | xfs_da_intnode_t *node) |
1120 | 1120 | { |
1121 | - int last = INT_GET(node->hdr.count, ARCH_CONVERT) - 1; | |
1121 | + int last = be16_to_cpu(node->hdr.count) - 1; | |
1122 | 1122 | |
1123 | 1123 | xfs_dir_trace_enter(XFS_DIR_KTRACE_G_DUN, where, |
1124 | 1124 | (void *)dp, (void *)dp->i_mount, |
... | ... | @@ -1127,7 +1127,7 @@ |
1127 | 1127 | (void *)(unsigned long)uio->uio_resid, |
1128 | 1128 | (void *)(unsigned long)be32_to_cpu(node->hdr.info.forw), |
1129 | 1129 | (void *)(unsigned long) |
1130 | - INT_GET(node->hdr.count, ARCH_CONVERT), | |
1130 | + be16_to_cpu(node->hdr.count), | |
1131 | 1131 | (void *)(unsigned long) |
1132 | 1132 | be32_to_cpu(node->btree[0].hashval), |
1133 | 1133 | (void *)(unsigned long) |
fs/xfs/xfs_dir_leaf.c
... | ... | @@ -743,10 +743,12 @@ |
743 | 743 | node = bp1->data; |
744 | 744 | leaf = bp2->data; |
745 | 745 | ASSERT(be16_to_cpu(leaf->hdr.info.magic) == XFS_DIR_LEAF_MAGIC); |
746 | - INT_SET(node->btree[0].hashval, ARCH_CONVERT, INT_GET(leaf->entries[ INT_GET(leaf->hdr.count, ARCH_CONVERT)-1 ].hashval, ARCH_CONVERT)); | |
746 | + node->btree[0].hashval = cpu_to_be32( | |
747 | + INT_GET(leaf->entries[ | |
748 | + INT_GET(leaf->hdr.count, ARCH_CONVERT)-1].hashval, ARCH_CONVERT)); | |
747 | 749 | xfs_da_buf_done(bp2); |
748 | 750 | node->btree[0].before = cpu_to_be32(blkno); |
749 | - INT_SET(node->hdr.count, ARCH_CONVERT, 1); | |
751 | + node->hdr.count = cpu_to_be16(1); | |
750 | 752 | xfs_da_log_buf(args->trans, bp1, |
751 | 753 | XFS_DA_LOGRANGE(node, &node->btree[0], sizeof(node->btree[0]))); |
752 | 754 | xfs_da_buf_done(bp1); |