diff options
Diffstat (limited to 'fs/xfs/xfs_dir2_sf.c')
-rw-r--r-- | fs/xfs/xfs_dir2_sf.c | 204 |
1 files changed, 102 insertions, 102 deletions
diff --git a/fs/xfs/xfs_dir2_sf.c b/fs/xfs/xfs_dir2_sf.c index 0cd77b17bf92..38fc4f22b76d 100644 --- a/fs/xfs/xfs_dir2_sf.c +++ b/fs/xfs/xfs_dir2_sf.c | |||
@@ -89,8 +89,8 @@ xfs_dir2_block_sfsize( | |||
89 | mp = dp->i_mount; | 89 | mp = dp->i_mount; |
90 | 90 | ||
91 | count = i8count = namelen = 0; | 91 | count = i8count = namelen = 0; |
92 | btp = XFS_DIR2_BLOCK_TAIL_P(mp, block); | 92 | btp = xfs_dir2_block_tail_p(mp, block); |
93 | blp = XFS_DIR2_BLOCK_LEAF_P(btp); | 93 | blp = xfs_dir2_block_leaf_p(btp); |
94 | 94 | ||
95 | /* | 95 | /* |
96 | * Iterate over the block's data entries by using the leaf pointers. | 96 | * Iterate over the block's data entries by using the leaf pointers. |
@@ -102,7 +102,7 @@ xfs_dir2_block_sfsize( | |||
102 | * Calculate the pointer to the entry at hand. | 102 | * Calculate the pointer to the entry at hand. |
103 | */ | 103 | */ |
104 | dep = (xfs_dir2_data_entry_t *) | 104 | dep = (xfs_dir2_data_entry_t *) |
105 | ((char *)block + XFS_DIR2_DATAPTR_TO_OFF(mp, addr)); | 105 | ((char *)block + xfs_dir2_dataptr_to_off(mp, addr)); |
106 | /* | 106 | /* |
107 | * Detect . and .., so we can special-case them. | 107 | * Detect . and .., so we can special-case them. |
108 | * . is not included in sf directories. | 108 | * . is not included in sf directories. |
@@ -124,7 +124,7 @@ xfs_dir2_block_sfsize( | |||
124 | /* | 124 | /* |
125 | * Calculate the new size, see if we should give up yet. | 125 | * Calculate the new size, see if we should give up yet. |
126 | */ | 126 | */ |
127 | size = XFS_DIR2_SF_HDR_SIZE(i8count) + /* header */ | 127 | size = xfs_dir2_sf_hdr_size(i8count) + /* header */ |
128 | count + /* namelen */ | 128 | count + /* namelen */ |
129 | count * (uint)sizeof(xfs_dir2_sf_off_t) + /* offset */ | 129 | count * (uint)sizeof(xfs_dir2_sf_off_t) + /* offset */ |
130 | namelen + /* name */ | 130 | namelen + /* name */ |
@@ -139,7 +139,7 @@ xfs_dir2_block_sfsize( | |||
139 | */ | 139 | */ |
140 | sfhp->count = count; | 140 | sfhp->count = count; |
141 | sfhp->i8count = i8count; | 141 | sfhp->i8count = i8count; |
142 | XFS_DIR2_SF_PUT_INUMBER((xfs_dir2_sf_t *)sfhp, &parent, &sfhp->parent); | 142 | xfs_dir2_sf_put_inumber((xfs_dir2_sf_t *)sfhp, &parent, &sfhp->parent); |
143 | return size; | 143 | return size; |
144 | } | 144 | } |
145 | 145 | ||
@@ -199,15 +199,15 @@ xfs_dir2_block_to_sf( | |||
199 | * Copy the header into the newly allocate local space. | 199 | * Copy the header into the newly allocate local space. |
200 | */ | 200 | */ |
201 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 201 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
202 | memcpy(sfp, sfhp, XFS_DIR2_SF_HDR_SIZE(sfhp->i8count)); | 202 | memcpy(sfp, sfhp, xfs_dir2_sf_hdr_size(sfhp->i8count)); |
203 | dp->i_d.di_size = size; | 203 | dp->i_d.di_size = size; |
204 | /* | 204 | /* |
205 | * Set up to loop over the block's entries. | 205 | * Set up to loop over the block's entries. |
206 | */ | 206 | */ |
207 | btp = XFS_DIR2_BLOCK_TAIL_P(mp, block); | 207 | btp = xfs_dir2_block_tail_p(mp, block); |
208 | ptr = (char *)block->u; | 208 | ptr = (char *)block->u; |
209 | endptr = (char *)XFS_DIR2_BLOCK_LEAF_P(btp); | 209 | endptr = (char *)xfs_dir2_block_leaf_p(btp); |
210 | sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 210 | sfep = xfs_dir2_sf_firstentry(sfp); |
211 | /* | 211 | /* |
212 | * Loop over the active and unused entries. | 212 | * Loop over the active and unused entries. |
213 | * Stop when we reach the leaf/tail portion of the block. | 213 | * Stop when we reach the leaf/tail portion of the block. |
@@ -233,22 +233,22 @@ xfs_dir2_block_to_sf( | |||
233 | else if (dep->namelen == 2 && | 233 | else if (dep->namelen == 2 && |
234 | dep->name[0] == '.' && dep->name[1] == '.') | 234 | dep->name[0] == '.' && dep->name[1] == '.') |
235 | ASSERT(be64_to_cpu(dep->inumber) == | 235 | ASSERT(be64_to_cpu(dep->inumber) == |
236 | XFS_DIR2_SF_GET_INUMBER(sfp, &sfp->hdr.parent)); | 236 | xfs_dir2_sf_get_inumber(sfp, &sfp->hdr.parent)); |
237 | /* | 237 | /* |
238 | * Normal entry, copy it into shortform. | 238 | * Normal entry, copy it into shortform. |
239 | */ | 239 | */ |
240 | else { | 240 | else { |
241 | sfep->namelen = dep->namelen; | 241 | sfep->namelen = dep->namelen; |
242 | XFS_DIR2_SF_PUT_OFFSET(sfep, | 242 | xfs_dir2_sf_put_offset(sfep, |
243 | (xfs_dir2_data_aoff_t) | 243 | (xfs_dir2_data_aoff_t) |
244 | ((char *)dep - (char *)block)); | 244 | ((char *)dep - (char *)block)); |
245 | memcpy(sfep->name, dep->name, dep->namelen); | 245 | memcpy(sfep->name, dep->name, dep->namelen); |
246 | temp = be64_to_cpu(dep->inumber); | 246 | temp = be64_to_cpu(dep->inumber); |
247 | XFS_DIR2_SF_PUT_INUMBER(sfp, &temp, | 247 | xfs_dir2_sf_put_inumber(sfp, &temp, |
248 | XFS_DIR2_SF_INUMBERP(sfep)); | 248 | xfs_dir2_sf_inumberp(sfep)); |
249 | sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep); | 249 | sfep = xfs_dir2_sf_nextentry(sfp, sfep); |
250 | } | 250 | } |
251 | ptr += XFS_DIR2_DATA_ENTSIZE(dep->namelen); | 251 | ptr += xfs_dir2_data_entsize(dep->namelen); |
252 | } | 252 | } |
253 | ASSERT((char *)sfep - (char *)sfp == size); | 253 | ASSERT((char *)sfep - (char *)sfp == size); |
254 | xfs_dir2_sf_check(args); | 254 | xfs_dir2_sf_check(args); |
@@ -294,11 +294,11 @@ xfs_dir2_sf_addname( | |||
294 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); | 294 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); |
295 | ASSERT(dp->i_df.if_u1.if_data != NULL); | 295 | ASSERT(dp->i_df.if_u1.if_data != NULL); |
296 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 296 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
297 | ASSERT(dp->i_d.di_size >= XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count)); | 297 | ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->hdr.i8count)); |
298 | /* | 298 | /* |
299 | * Compute entry (and change in) size. | 299 | * Compute entry (and change in) size. |
300 | */ | 300 | */ |
301 | add_entsize = XFS_DIR2_SF_ENTSIZE_BYNAME(sfp, args->namelen); | 301 | add_entsize = xfs_dir2_sf_entsize_byname(sfp, args->namelen); |
302 | incr_isize = add_entsize; | 302 | incr_isize = add_entsize; |
303 | objchange = 0; | 303 | objchange = 0; |
304 | #if XFS_BIG_INUMS | 304 | #if XFS_BIG_INUMS |
@@ -392,7 +392,7 @@ xfs_dir2_sf_addname_easy( | |||
392 | /* | 392 | /* |
393 | * Grow the in-inode space. | 393 | * Grow the in-inode space. |
394 | */ | 394 | */ |
395 | xfs_idata_realloc(dp, XFS_DIR2_SF_ENTSIZE_BYNAME(sfp, args->namelen), | 395 | xfs_idata_realloc(dp, xfs_dir2_sf_entsize_byname(sfp, args->namelen), |
396 | XFS_DATA_FORK); | 396 | XFS_DATA_FORK); |
397 | /* | 397 | /* |
398 | * Need to set up again due to realloc of the inode data. | 398 | * Need to set up again due to realloc of the inode data. |
@@ -403,10 +403,10 @@ xfs_dir2_sf_addname_easy( | |||
403 | * Fill in the new entry. | 403 | * Fill in the new entry. |
404 | */ | 404 | */ |
405 | sfep->namelen = args->namelen; | 405 | sfep->namelen = args->namelen; |
406 | XFS_DIR2_SF_PUT_OFFSET(sfep, offset); | 406 | xfs_dir2_sf_put_offset(sfep, offset); |
407 | memcpy(sfep->name, args->name, sfep->namelen); | 407 | memcpy(sfep->name, args->name, sfep->namelen); |
408 | XFS_DIR2_SF_PUT_INUMBER(sfp, &args->inumber, | 408 | xfs_dir2_sf_put_inumber(sfp, &args->inumber, |
409 | XFS_DIR2_SF_INUMBERP(sfep)); | 409 | xfs_dir2_sf_inumberp(sfep)); |
410 | /* | 410 | /* |
411 | * Update the header and inode. | 411 | * Update the header and inode. |
412 | */ | 412 | */ |
@@ -463,14 +463,14 @@ xfs_dir2_sf_addname_hard( | |||
463 | * If it's going to end up at the end then oldsfep will point there. | 463 | * If it's going to end up at the end then oldsfep will point there. |
464 | */ | 464 | */ |
465 | for (offset = XFS_DIR2_DATA_FIRST_OFFSET, | 465 | for (offset = XFS_DIR2_DATA_FIRST_OFFSET, |
466 | oldsfep = XFS_DIR2_SF_FIRSTENTRY(oldsfp), | 466 | oldsfep = xfs_dir2_sf_firstentry(oldsfp), |
467 | add_datasize = XFS_DIR2_DATA_ENTSIZE(args->namelen), | 467 | add_datasize = xfs_dir2_data_entsize(args->namelen), |
468 | eof = (char *)oldsfep == &buf[old_isize]; | 468 | eof = (char *)oldsfep == &buf[old_isize]; |
469 | !eof; | 469 | !eof; |
470 | offset = new_offset + XFS_DIR2_DATA_ENTSIZE(oldsfep->namelen), | 470 | offset = new_offset + xfs_dir2_data_entsize(oldsfep->namelen), |
471 | oldsfep = XFS_DIR2_SF_NEXTENTRY(oldsfp, oldsfep), | 471 | oldsfep = xfs_dir2_sf_nextentry(oldsfp, oldsfep), |
472 | eof = (char *)oldsfep == &buf[old_isize]) { | 472 | eof = (char *)oldsfep == &buf[old_isize]) { |
473 | new_offset = XFS_DIR2_SF_GET_OFFSET(oldsfep); | 473 | new_offset = xfs_dir2_sf_get_offset(oldsfep); |
474 | if (offset + add_datasize <= new_offset) | 474 | if (offset + add_datasize <= new_offset) |
475 | break; | 475 | break; |
476 | } | 476 | } |
@@ -495,10 +495,10 @@ xfs_dir2_sf_addname_hard( | |||
495 | * Fill in the new entry, and update the header counts. | 495 | * Fill in the new entry, and update the header counts. |
496 | */ | 496 | */ |
497 | sfep->namelen = args->namelen; | 497 | sfep->namelen = args->namelen; |
498 | XFS_DIR2_SF_PUT_OFFSET(sfep, offset); | 498 | xfs_dir2_sf_put_offset(sfep, offset); |
499 | memcpy(sfep->name, args->name, sfep->namelen); | 499 | memcpy(sfep->name, args->name, sfep->namelen); |
500 | XFS_DIR2_SF_PUT_INUMBER(sfp, &args->inumber, | 500 | xfs_dir2_sf_put_inumber(sfp, &args->inumber, |
501 | XFS_DIR2_SF_INUMBERP(sfep)); | 501 | xfs_dir2_sf_inumberp(sfep)); |
502 | sfp->hdr.count++; | 502 | sfp->hdr.count++; |
503 | #if XFS_BIG_INUMS | 503 | #if XFS_BIG_INUMS |
504 | if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) | 504 | if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) |
@@ -508,7 +508,7 @@ xfs_dir2_sf_addname_hard( | |||
508 | * If there's more left to copy, do that. | 508 | * If there's more left to copy, do that. |
509 | */ | 509 | */ |
510 | if (!eof) { | 510 | if (!eof) { |
511 | sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep); | 511 | sfep = xfs_dir2_sf_nextentry(sfp, sfep); |
512 | memcpy(sfep, oldsfep, old_isize - nbytes); | 512 | memcpy(sfep, oldsfep, old_isize - nbytes); |
513 | } | 513 | } |
514 | kmem_free(buf, old_isize); | 514 | kmem_free(buf, old_isize); |
@@ -544,9 +544,9 @@ xfs_dir2_sf_addname_pick( | |||
544 | mp = dp->i_mount; | 544 | mp = dp->i_mount; |
545 | 545 | ||
546 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 546 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
547 | size = XFS_DIR2_DATA_ENTSIZE(args->namelen); | 547 | size = xfs_dir2_data_entsize(args->namelen); |
548 | offset = XFS_DIR2_DATA_FIRST_OFFSET; | 548 | offset = XFS_DIR2_DATA_FIRST_OFFSET; |
549 | sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 549 | sfep = xfs_dir2_sf_firstentry(sfp); |
550 | holefit = 0; | 550 | holefit = 0; |
551 | /* | 551 | /* |
552 | * Loop over sf entries. | 552 | * Loop over sf entries. |
@@ -555,10 +555,10 @@ xfs_dir2_sf_addname_pick( | |||
555 | */ | 555 | */ |
556 | for (i = 0; i < sfp->hdr.count; i++) { | 556 | for (i = 0; i < sfp->hdr.count; i++) { |
557 | if (!holefit) | 557 | if (!holefit) |
558 | holefit = offset + size <= XFS_DIR2_SF_GET_OFFSET(sfep); | 558 | holefit = offset + size <= xfs_dir2_sf_get_offset(sfep); |
559 | offset = XFS_DIR2_SF_GET_OFFSET(sfep) + | 559 | offset = xfs_dir2_sf_get_offset(sfep) + |
560 | XFS_DIR2_DATA_ENTSIZE(sfep->namelen); | 560 | xfs_dir2_data_entsize(sfep->namelen); |
561 | sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep); | 561 | sfep = xfs_dir2_sf_nextentry(sfp, sfep); |
562 | } | 562 | } |
563 | /* | 563 | /* |
564 | * Calculate data bytes used excluding the new entry, if this | 564 | * Calculate data bytes used excluding the new entry, if this |
@@ -617,18 +617,18 @@ xfs_dir2_sf_check( | |||
617 | 617 | ||
618 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 618 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
619 | offset = XFS_DIR2_DATA_FIRST_OFFSET; | 619 | offset = XFS_DIR2_DATA_FIRST_OFFSET; |
620 | ino = XFS_DIR2_SF_GET_INUMBER(sfp, &sfp->hdr.parent); | 620 | ino = xfs_dir2_sf_get_inumber(sfp, &sfp->hdr.parent); |
621 | i8count = ino > XFS_DIR2_MAX_SHORT_INUM; | 621 | i8count = ino > XFS_DIR2_MAX_SHORT_INUM; |
622 | 622 | ||
623 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 623 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); |
624 | i < sfp->hdr.count; | 624 | i < sfp->hdr.count; |
625 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep)) { | 625 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep)) { |
626 | ASSERT(XFS_DIR2_SF_GET_OFFSET(sfep) >= offset); | 626 | ASSERT(xfs_dir2_sf_get_offset(sfep) >= offset); |
627 | ino = XFS_DIR2_SF_GET_INUMBER(sfp, XFS_DIR2_SF_INUMBERP(sfep)); | 627 | ino = xfs_dir2_sf_get_inumber(sfp, xfs_dir2_sf_inumberp(sfep)); |
628 | i8count += ino > XFS_DIR2_MAX_SHORT_INUM; | 628 | i8count += ino > XFS_DIR2_MAX_SHORT_INUM; |
629 | offset = | 629 | offset = |
630 | XFS_DIR2_SF_GET_OFFSET(sfep) + | 630 | xfs_dir2_sf_get_offset(sfep) + |
631 | XFS_DIR2_DATA_ENTSIZE(sfep->namelen); | 631 | xfs_dir2_data_entsize(sfep->namelen); |
632 | } | 632 | } |
633 | ASSERT(i8count == sfp->hdr.i8count); | 633 | ASSERT(i8count == sfp->hdr.i8count); |
634 | ASSERT(XFS_BIG_INUMS || i8count == 0); | 634 | ASSERT(XFS_BIG_INUMS || i8count == 0); |
@@ -671,7 +671,7 @@ xfs_dir2_sf_create( | |||
671 | ASSERT(dp->i_df.if_flags & XFS_IFINLINE); | 671 | ASSERT(dp->i_df.if_flags & XFS_IFINLINE); |
672 | ASSERT(dp->i_df.if_bytes == 0); | 672 | ASSERT(dp->i_df.if_bytes == 0); |
673 | i8count = pino > XFS_DIR2_MAX_SHORT_INUM; | 673 | i8count = pino > XFS_DIR2_MAX_SHORT_INUM; |
674 | size = XFS_DIR2_SF_HDR_SIZE(i8count); | 674 | size = xfs_dir2_sf_hdr_size(i8count); |
675 | /* | 675 | /* |
676 | * Make a buffer for the data. | 676 | * Make a buffer for the data. |
677 | */ | 677 | */ |
@@ -684,7 +684,7 @@ xfs_dir2_sf_create( | |||
684 | /* | 684 | /* |
685 | * Now can put in the inode number, since i8count is set. | 685 | * Now can put in the inode number, since i8count is set. |
686 | */ | 686 | */ |
687 | XFS_DIR2_SF_PUT_INUMBER(sfp, &pino, &sfp->hdr.parent); | 687 | xfs_dir2_sf_put_inumber(sfp, &pino, &sfp->hdr.parent); |
688 | sfp->hdr.count = 0; | 688 | sfp->hdr.count = 0; |
689 | dp->i_d.di_size = size; | 689 | dp->i_d.di_size = size; |
690 | xfs_dir2_sf_check(args); | 690 | xfs_dir2_sf_check(args); |
@@ -727,12 +727,12 @@ xfs_dir2_sf_getdents( | |||
727 | 727 | ||
728 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 728 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
729 | 729 | ||
730 | ASSERT(dp->i_d.di_size >= XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count)); | 730 | ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->hdr.i8count)); |
731 | 731 | ||
732 | /* | 732 | /* |
733 | * If the block number in the offset is out of range, we're done. | 733 | * If the block number in the offset is out of range, we're done. |
734 | */ | 734 | */ |
735 | if (XFS_DIR2_DATAPTR_TO_DB(mp, dir_offset) > mp->m_dirdatablk) { | 735 | if (xfs_dir2_dataptr_to_db(mp, dir_offset) > mp->m_dirdatablk) { |
736 | *eofp = 1; | 736 | *eofp = 1; |
737 | return 0; | 737 | return 0; |
738 | } | 738 | } |
@@ -747,9 +747,9 @@ xfs_dir2_sf_getdents( | |||
747 | * Put . entry unless we're starting past it. | 747 | * Put . entry unless we're starting past it. |
748 | */ | 748 | */ |
749 | if (dir_offset <= | 749 | if (dir_offset <= |
750 | XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 750 | xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
751 | XFS_DIR2_DATA_DOT_OFFSET)) { | 751 | XFS_DIR2_DATA_DOT_OFFSET)) { |
752 | p.cook = XFS_DIR2_DB_OFF_TO_DATAPTR(mp, 0, | 752 | p.cook = xfs_dir2_db_off_to_dataptr(mp, 0, |
753 | XFS_DIR2_DATA_DOTDOT_OFFSET); | 753 | XFS_DIR2_DATA_DOTDOT_OFFSET); |
754 | p.ino = dp->i_ino; | 754 | p.ino = dp->i_ino; |
755 | #if XFS_BIG_INUMS | 755 | #if XFS_BIG_INUMS |
@@ -762,7 +762,7 @@ xfs_dir2_sf_getdents( | |||
762 | 762 | ||
763 | if (!p.done) { | 763 | if (!p.done) { |
764 | uio->uio_offset = | 764 | uio->uio_offset = |
765 | XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 765 | xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
766 | XFS_DIR2_DATA_DOT_OFFSET); | 766 | XFS_DIR2_DATA_DOT_OFFSET); |
767 | return error; | 767 | return error; |
768 | } | 768 | } |
@@ -772,11 +772,11 @@ xfs_dir2_sf_getdents( | |||
772 | * Put .. entry unless we're starting past it. | 772 | * Put .. entry unless we're starting past it. |
773 | */ | 773 | */ |
774 | if (dir_offset <= | 774 | if (dir_offset <= |
775 | XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 775 | xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
776 | XFS_DIR2_DATA_DOTDOT_OFFSET)) { | 776 | XFS_DIR2_DATA_DOTDOT_OFFSET)) { |
777 | p.cook = XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 777 | p.cook = xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
778 | XFS_DIR2_DATA_FIRST_OFFSET); | 778 | XFS_DIR2_DATA_FIRST_OFFSET); |
779 | p.ino = XFS_DIR2_SF_GET_INUMBER(sfp, &sfp->hdr.parent); | 779 | p.ino = xfs_dir2_sf_get_inumber(sfp, &sfp->hdr.parent); |
780 | #if XFS_BIG_INUMS | 780 | #if XFS_BIG_INUMS |
781 | p.ino += mp->m_inoadd; | 781 | p.ino += mp->m_inoadd; |
782 | #endif | 782 | #endif |
@@ -787,7 +787,7 @@ xfs_dir2_sf_getdents( | |||
787 | 787 | ||
788 | if (!p.done) { | 788 | if (!p.done) { |
789 | uio->uio_offset = | 789 | uio->uio_offset = |
790 | XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 790 | xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
791 | XFS_DIR2_DATA_DOTDOT_OFFSET); | 791 | XFS_DIR2_DATA_DOTDOT_OFFSET); |
792 | return error; | 792 | return error; |
793 | } | 793 | } |
@@ -796,23 +796,23 @@ xfs_dir2_sf_getdents( | |||
796 | /* | 796 | /* |
797 | * Loop while there are more entries and put'ing works. | 797 | * Loop while there are more entries and put'ing works. |
798 | */ | 798 | */ |
799 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 799 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); |
800 | i < sfp->hdr.count; | 800 | i < sfp->hdr.count; |
801 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep)) { | 801 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep)) { |
802 | 802 | ||
803 | off = XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 803 | off = xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
804 | XFS_DIR2_SF_GET_OFFSET(sfep)); | 804 | xfs_dir2_sf_get_offset(sfep)); |
805 | 805 | ||
806 | if (dir_offset > off) | 806 | if (dir_offset > off) |
807 | continue; | 807 | continue; |
808 | 808 | ||
809 | p.namelen = sfep->namelen; | 809 | p.namelen = sfep->namelen; |
810 | 810 | ||
811 | p.cook = XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, | 811 | p.cook = xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk, |
812 | XFS_DIR2_SF_GET_OFFSET(sfep) + | 812 | xfs_dir2_sf_get_offset(sfep) + |
813 | XFS_DIR2_DATA_ENTSIZE(p.namelen)); | 813 | xfs_dir2_data_entsize(p.namelen)); |
814 | 814 | ||
815 | p.ino = XFS_DIR2_SF_GET_INUMBER(sfp, XFS_DIR2_SF_INUMBERP(sfep)); | 815 | p.ino = xfs_dir2_sf_get_inumber(sfp, xfs_dir2_sf_inumberp(sfep)); |
816 | #if XFS_BIG_INUMS | 816 | #if XFS_BIG_INUMS |
817 | p.ino += mp->m_inoadd; | 817 | p.ino += mp->m_inoadd; |
818 | #endif | 818 | #endif |
@@ -832,7 +832,7 @@ xfs_dir2_sf_getdents( | |||
832 | *eofp = 1; | 832 | *eofp = 1; |
833 | 833 | ||
834 | uio->uio_offset = | 834 | uio->uio_offset = |
835 | XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk + 1, 0); | 835 | xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk + 1, 0); |
836 | 836 | ||
837 | return 0; | 837 | return 0; |
838 | } | 838 | } |
@@ -865,7 +865,7 @@ xfs_dir2_sf_lookup( | |||
865 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); | 865 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); |
866 | ASSERT(dp->i_df.if_u1.if_data != NULL); | 866 | ASSERT(dp->i_df.if_u1.if_data != NULL); |
867 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 867 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
868 | ASSERT(dp->i_d.di_size >= XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count)); | 868 | ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->hdr.i8count)); |
869 | /* | 869 | /* |
870 | * Special case for . | 870 | * Special case for . |
871 | */ | 871 | */ |
@@ -878,21 +878,21 @@ xfs_dir2_sf_lookup( | |||
878 | */ | 878 | */ |
879 | if (args->namelen == 2 && | 879 | if (args->namelen == 2 && |
880 | args->name[0] == '.' && args->name[1] == '.') { | 880 | args->name[0] == '.' && args->name[1] == '.') { |
881 | args->inumber = XFS_DIR2_SF_GET_INUMBER(sfp, &sfp->hdr.parent); | 881 | args->inumber = xfs_dir2_sf_get_inumber(sfp, &sfp->hdr.parent); |
882 | return XFS_ERROR(EEXIST); | 882 | return XFS_ERROR(EEXIST); |
883 | } | 883 | } |
884 | /* | 884 | /* |
885 | * Loop over all the entries trying to match ours. | 885 | * Loop over all the entries trying to match ours. |
886 | */ | 886 | */ |
887 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 887 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); |
888 | i < sfp->hdr.count; | 888 | i < sfp->hdr.count; |
889 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep)) { | 889 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep)) { |
890 | if (sfep->namelen == args->namelen && | 890 | if (sfep->namelen == args->namelen && |
891 | sfep->name[0] == args->name[0] && | 891 | sfep->name[0] == args->name[0] && |
892 | memcmp(args->name, sfep->name, args->namelen) == 0) { | 892 | memcmp(args->name, sfep->name, args->namelen) == 0) { |
893 | args->inumber = | 893 | args->inumber = |
894 | XFS_DIR2_SF_GET_INUMBER(sfp, | 894 | xfs_dir2_sf_get_inumber(sfp, |
895 | XFS_DIR2_SF_INUMBERP(sfep)); | 895 | xfs_dir2_sf_inumberp(sfep)); |
896 | return XFS_ERROR(EEXIST); | 896 | return XFS_ERROR(EEXIST); |
897 | } | 897 | } |
898 | } | 898 | } |
@@ -934,19 +934,19 @@ xfs_dir2_sf_removename( | |||
934 | ASSERT(dp->i_df.if_bytes == oldsize); | 934 | ASSERT(dp->i_df.if_bytes == oldsize); |
935 | ASSERT(dp->i_df.if_u1.if_data != NULL); | 935 | ASSERT(dp->i_df.if_u1.if_data != NULL); |
936 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 936 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
937 | ASSERT(oldsize >= XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count)); | 937 | ASSERT(oldsize >= xfs_dir2_sf_hdr_size(sfp->hdr.i8count)); |
938 | /* | 938 | /* |
939 | * Loop over the old directory entries. | 939 | * Loop over the old directory entries. |
940 | * Find the one we're deleting. | 940 | * Find the one we're deleting. |
941 | */ | 941 | */ |
942 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 942 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); |
943 | i < sfp->hdr.count; | 943 | i < sfp->hdr.count; |
944 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep)) { | 944 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep)) { |
945 | if (sfep->namelen == args->namelen && | 945 | if (sfep->namelen == args->namelen && |
946 | sfep->name[0] == args->name[0] && | 946 | sfep->name[0] == args->name[0] && |
947 | memcmp(sfep->name, args->name, args->namelen) == 0) { | 947 | memcmp(sfep->name, args->name, args->namelen) == 0) { |
948 | ASSERT(XFS_DIR2_SF_GET_INUMBER(sfp, | 948 | ASSERT(xfs_dir2_sf_get_inumber(sfp, |
949 | XFS_DIR2_SF_INUMBERP(sfep)) == | 949 | xfs_dir2_sf_inumberp(sfep)) == |
950 | args->inumber); | 950 | args->inumber); |
951 | break; | 951 | break; |
952 | } | 952 | } |
@@ -961,7 +961,7 @@ xfs_dir2_sf_removename( | |||
961 | * Calculate sizes. | 961 | * Calculate sizes. |
962 | */ | 962 | */ |
963 | byteoff = (int)((char *)sfep - (char *)sfp); | 963 | byteoff = (int)((char *)sfep - (char *)sfp); |
964 | entsize = XFS_DIR2_SF_ENTSIZE_BYNAME(sfp, args->namelen); | 964 | entsize = xfs_dir2_sf_entsize_byname(sfp, args->namelen); |
965 | newsize = oldsize - entsize; | 965 | newsize = oldsize - entsize; |
966 | /* | 966 | /* |
967 | * Copy the part if any after the removed entry, sliding it down. | 967 | * Copy the part if any after the removed entry, sliding it down. |
@@ -1027,7 +1027,7 @@ xfs_dir2_sf_replace( | |||
1027 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); | 1027 | ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); |
1028 | ASSERT(dp->i_df.if_u1.if_data != NULL); | 1028 | ASSERT(dp->i_df.if_u1.if_data != NULL); |
1029 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; | 1029 | sfp = (xfs_dir2_sf_t *)dp->i_df.if_u1.if_data; |
1030 | ASSERT(dp->i_d.di_size >= XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count)); | 1030 | ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->hdr.i8count)); |
1031 | #if XFS_BIG_INUMS | 1031 | #if XFS_BIG_INUMS |
1032 | /* | 1032 | /* |
1033 | * New inode number is large, and need to convert to 8-byte inodes. | 1033 | * New inode number is large, and need to convert to 8-byte inodes. |
@@ -1067,28 +1067,28 @@ xfs_dir2_sf_replace( | |||
1067 | if (args->namelen == 2 && | 1067 | if (args->namelen == 2 && |
1068 | args->name[0] == '.' && args->name[1] == '.') { | 1068 | args->name[0] == '.' && args->name[1] == '.') { |
1069 | #if XFS_BIG_INUMS || defined(DEBUG) | 1069 | #if XFS_BIG_INUMS || defined(DEBUG) |
1070 | ino = XFS_DIR2_SF_GET_INUMBER(sfp, &sfp->hdr.parent); | 1070 | ino = xfs_dir2_sf_get_inumber(sfp, &sfp->hdr.parent); |
1071 | ASSERT(args->inumber != ino); | 1071 | ASSERT(args->inumber != ino); |
1072 | #endif | 1072 | #endif |
1073 | XFS_DIR2_SF_PUT_INUMBER(sfp, &args->inumber, &sfp->hdr.parent); | 1073 | xfs_dir2_sf_put_inumber(sfp, &args->inumber, &sfp->hdr.parent); |
1074 | } | 1074 | } |
1075 | /* | 1075 | /* |
1076 | * Normal entry, look for the name. | 1076 | * Normal entry, look for the name. |
1077 | */ | 1077 | */ |
1078 | else { | 1078 | else { |
1079 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp); | 1079 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); |
1080 | i < sfp->hdr.count; | 1080 | i < sfp->hdr.count; |
1081 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep)) { | 1081 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep)) { |
1082 | if (sfep->namelen == args->namelen && | 1082 | if (sfep->namelen == args->namelen && |
1083 | sfep->name[0] == args->name[0] && | 1083 | sfep->name[0] == args->name[0] && |
1084 | memcmp(args->name, sfep->name, args->namelen) == 0) { | 1084 | memcmp(args->name, sfep->name, args->namelen) == 0) { |
1085 | #if XFS_BIG_INUMS || defined(DEBUG) | 1085 | #if XFS_BIG_INUMS || defined(DEBUG) |
1086 | ino = XFS_DIR2_SF_GET_INUMBER(sfp, | 1086 | ino = xfs_dir2_sf_get_inumber(sfp, |
1087 | XFS_DIR2_SF_INUMBERP(sfep)); | 1087 | xfs_dir2_sf_inumberp(sfep)); |
1088 | ASSERT(args->inumber != ino); | 1088 | ASSERT(args->inumber != ino); |
1089 | #endif | 1089 | #endif |
1090 | XFS_DIR2_SF_PUT_INUMBER(sfp, &args->inumber, | 1090 | xfs_dir2_sf_put_inumber(sfp, &args->inumber, |
1091 | XFS_DIR2_SF_INUMBERP(sfep)); | 1091 | xfs_dir2_sf_inumberp(sfep)); |
1092 | break; | 1092 | break; |
1093 | } | 1093 | } |
1094 | } | 1094 | } |
@@ -1189,22 +1189,22 @@ xfs_dir2_sf_toino4( | |||
1189 | */ | 1189 | */ |
1190 | sfp->hdr.count = oldsfp->hdr.count; | 1190 | sfp->hdr.count = oldsfp->hdr.count; |
1191 | sfp->hdr.i8count = 0; | 1191 | sfp->hdr.i8count = 0; |
1192 | ino = XFS_DIR2_SF_GET_INUMBER(oldsfp, &oldsfp->hdr.parent); | 1192 | ino = xfs_dir2_sf_get_inumber(oldsfp, &oldsfp->hdr.parent); |
1193 | XFS_DIR2_SF_PUT_INUMBER(sfp, &ino, &sfp->hdr.parent); | 1193 | xfs_dir2_sf_put_inumber(sfp, &ino, &sfp->hdr.parent); |
1194 | /* | 1194 | /* |
1195 | * Copy the entries field by field. | 1195 | * Copy the entries field by field. |
1196 | */ | 1196 | */ |
1197 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp), | 1197 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), |
1198 | oldsfep = XFS_DIR2_SF_FIRSTENTRY(oldsfp); | 1198 | oldsfep = xfs_dir2_sf_firstentry(oldsfp); |
1199 | i < sfp->hdr.count; | 1199 | i < sfp->hdr.count; |
1200 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep), | 1200 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep), |
1201 | oldsfep = XFS_DIR2_SF_NEXTENTRY(oldsfp, oldsfep)) { | 1201 | oldsfep = xfs_dir2_sf_nextentry(oldsfp, oldsfep)) { |
1202 | sfep->namelen = oldsfep->namelen; | 1202 | sfep->namelen = oldsfep->namelen; |
1203 | sfep->offset = oldsfep->offset; | 1203 | sfep->offset = oldsfep->offset; |
1204 | memcpy(sfep->name, oldsfep->name, sfep->namelen); | 1204 | memcpy(sfep->name, oldsfep->name, sfep->namelen); |
1205 | ino = XFS_DIR2_SF_GET_INUMBER(oldsfp, | 1205 | ino = xfs_dir2_sf_get_inumber(oldsfp, |
1206 | XFS_DIR2_SF_INUMBERP(oldsfep)); | 1206 | xfs_dir2_sf_inumberp(oldsfep)); |
1207 | XFS_DIR2_SF_PUT_INUMBER(sfp, &ino, XFS_DIR2_SF_INUMBERP(sfep)); | 1207 | xfs_dir2_sf_put_inumber(sfp, &ino, xfs_dir2_sf_inumberp(sfep)); |
1208 | } | 1208 | } |
1209 | /* | 1209 | /* |
1210 | * Clean up the inode. | 1210 | * Clean up the inode. |
@@ -1266,22 +1266,22 @@ xfs_dir2_sf_toino8( | |||
1266 | */ | 1266 | */ |
1267 | sfp->hdr.count = oldsfp->hdr.count; | 1267 | sfp->hdr.count = oldsfp->hdr.count; |
1268 | sfp->hdr.i8count = 1; | 1268 | sfp->hdr.i8count = 1; |
1269 | ino = XFS_DIR2_SF_GET_INUMBER(oldsfp, &oldsfp->hdr.parent); | 1269 | ino = xfs_dir2_sf_get_inumber(oldsfp, &oldsfp->hdr.parent); |
1270 | XFS_DIR2_SF_PUT_INUMBER(sfp, &ino, &sfp->hdr.parent); | 1270 | xfs_dir2_sf_put_inumber(sfp, &ino, &sfp->hdr.parent); |
1271 | /* | 1271 | /* |
1272 | * Copy the entries field by field. | 1272 | * Copy the entries field by field. |
1273 | */ | 1273 | */ |
1274 | for (i = 0, sfep = XFS_DIR2_SF_FIRSTENTRY(sfp), | 1274 | for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), |
1275 | oldsfep = XFS_DIR2_SF_FIRSTENTRY(oldsfp); | 1275 | oldsfep = xfs_dir2_sf_firstentry(oldsfp); |
1276 | i < sfp->hdr.count; | 1276 | i < sfp->hdr.count; |
1277 | i++, sfep = XFS_DIR2_SF_NEXTENTRY(sfp, sfep), | 1277 | i++, sfep = xfs_dir2_sf_nextentry(sfp, sfep), |
1278 | oldsfep = XFS_DIR2_SF_NEXTENTRY(oldsfp, oldsfep)) { | 1278 | oldsfep = xfs_dir2_sf_nextentry(oldsfp, oldsfep)) { |
1279 | sfep->namelen = oldsfep->namelen; | 1279 | sfep->namelen = oldsfep->namelen; |
1280 | sfep->offset = oldsfep->offset; | 1280 | sfep->offset = oldsfep->offset; |
1281 | memcpy(sfep->name, oldsfep->name, sfep->namelen); | 1281 | memcpy(sfep->name, oldsfep->name, sfep->namelen); |
1282 | ino = XFS_DIR2_SF_GET_INUMBER(oldsfp, | 1282 | ino = xfs_dir2_sf_get_inumber(oldsfp, |
1283 | XFS_DIR2_SF_INUMBERP(oldsfep)); | 1283 | xfs_dir2_sf_inumberp(oldsfep)); |
1284 | XFS_DIR2_SF_PUT_INUMBER(sfp, &ino, XFS_DIR2_SF_INUMBERP(sfep)); | 1284 | xfs_dir2_sf_put_inumber(sfp, &ino, xfs_dir2_sf_inumberp(sfep)); |
1285 | } | 1285 | } |
1286 | /* | 1286 | /* |
1287 | * Clean up the inode. | 1287 | * Clean up the inode. |