Lines Matching full:sfp
268 struct xfs_dir2_sf_hdr *sfp; /* shortform directory header */ in xfs_dir2_block_to_sf() local
279 sfp = kmem_alloc(mp->m_sb.sb_inodesize, 0); in xfs_dir2_block_to_sf()
280 memcpy(sfp, sfhp, xfs_dir2_sf_hdr_size(sfhp->i8count)); in xfs_dir2_block_to_sf()
287 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_block_to_sf()
311 xfs_dir2_sf_get_parent_ino(sfp)); in xfs_dir2_block_to_sf()
319 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_block_to_sf()
324 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_block_to_sf()
328 ASSERT((char *)sfep - (char *)sfp == size); in xfs_dir2_block_to_sf()
345 xfs_init_local_fork(dp, XFS_DATA_FORK, sfp, size); in xfs_dir2_block_to_sf()
353 kmem_free(sfp); in xfs_dir2_block_to_sf()
374 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_addname() local
385 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname()
386 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_addname()
390 incr_isize = xfs_dir2_sf_entsize(dp->i_mount, sfp, args->namelen); in xfs_dir2_sf_addname()
396 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_addname()
400 incr_isize += (sfp->count + 2) * XFS_INO64_DIFF; in xfs_dir2_sf_addname()
466 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_addname_easy() local
468 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
469 byteoff = (int)((char *)sfep - (char *)sfp); in xfs_dir2_sf_addname_easy()
473 xfs_idata_realloc(dp, xfs_dir2_sf_entsize(mp, sfp, args->namelen), in xfs_dir2_sf_addname_easy()
478 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
479 sfep = (xfs_dir2_sf_entry_t *)((char *)sfp + byteoff); in xfs_dir2_sf_addname_easy()
486 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_easy()
492 sfp->count++; in xfs_dir2_sf_addname_easy()
494 sfp->i8count++; in xfs_dir2_sf_addname_easy()
526 xfs_dir2_sf_hdr_t *sfp; /* new shortform dir */ in xfs_dir2_sf_addname_hard() local
531 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
535 memcpy(oldsfp, sfp, old_isize); in xfs_dir2_sf_addname_hard()
563 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
568 memcpy(sfp, oldsfp, nbytes); in xfs_dir2_sf_addname_hard()
569 sfep = (xfs_dir2_sf_entry_t *)((char *)sfp + nbytes); in xfs_dir2_sf_addname_hard()
576 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_hard()
578 sfp->count++; in xfs_dir2_sf_addname_hard()
580 sfp->i8count++; in xfs_dir2_sf_addname_hard()
585 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_addname_hard()
613 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_addname_pick() local
617 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_pick()
620 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_addname_pick()
627 for (i = 0; i < sfp->count; i++) { in xfs_dir2_sf_addname_pick()
632 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_addname_pick()
639 (sfp->count + 3) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_addname_pick()
681 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_check() local
683 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_check()
685 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_check()
688 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_check()
689 i < sfp->count; in xfs_dir2_sf_check()
690 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_check()
692 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_check()
699 ASSERT(i8count == sfp->i8count); in xfs_dir2_sf_check()
700 ASSERT((char *)sfep - (char *)sfp == dp->i_disk_size); in xfs_dir2_sf_check()
702 (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_check()
714 struct xfs_dir2_sf_hdr *sfp; in xfs_dir2_sf_verify() local
728 sfp = (struct xfs_dir2_sf_hdr *)ifp->if_u1.if_data; in xfs_dir2_sf_verify()
735 size < xfs_dir2_sf_hdr_size(sfp->i8count)) in xfs_dir2_sf_verify()
738 endp = (char *)sfp + size; in xfs_dir2_sf_verify()
741 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_verify()
749 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_verify()
750 for (i = 0; i < sfp->count; i++) { in xfs_dir2_sf_verify()
768 next_sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_verify()
777 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_verify()
793 if (i8count != sfp->i8count) in xfs_dir2_sf_verify()
799 if (offset + (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_verify()
816 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_create() local
844 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_create()
845 sfp->i8count = i8count; in xfs_dir2_sf_create()
849 xfs_dir2_sf_put_parent_ino(sfp, pino); in xfs_dir2_sf_create()
850 sfp->count = 0; in xfs_dir2_sf_create()
869 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_lookup() local
881 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_lookup()
882 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_lookup()
897 args->inumber = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
906 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_lookup()
907 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_lookup()
916 args->inumber = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_lookup()
949 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_removename() local
958 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
959 ASSERT(oldsize >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_removename()
964 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_removename()
965 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_removename()
968 ASSERT(xfs_dir2_sf_get_ino(mp, sfp, sfep) == in xfs_dir2_sf_removename()
976 if (i == sfp->count) in xfs_dir2_sf_removename()
981 byteoff = (int)((char *)sfep - (char *)sfp); in xfs_dir2_sf_removename()
982 entsize = xfs_dir2_sf_entsize(mp, sfp, args->namelen); in xfs_dir2_sf_removename()
988 memmove((char *)sfp + byteoff, (char *)sfp + byteoff + entsize, in xfs_dir2_sf_removename()
993 sfp->count--; in xfs_dir2_sf_removename()
999 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
1004 if (sfp->i8count == 1) in xfs_dir2_sf_removename()
1007 sfp->i8count--; in xfs_dir2_sf_removename()
1023 struct xfs_dir2_sf_hdr *sfp; in xfs_dir2_sf_replace_needblock() local
1028 sfp = (struct xfs_dir2_sf_hdr *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace_needblock()
1029 newsize = dp->i_df.if_bytes + (sfp->count + 1) * XFS_INO64_DIFF; in xfs_dir2_sf_replace_needblock()
1032 sfp->i8count == 0 && newsize > xfs_inode_data_fork_size(dp); in xfs_dir2_sf_replace_needblock()
1048 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_replace() local
1056 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
1057 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_replace()
1062 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_replace()
1079 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
1089 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_replace()
1091 xfs_dir2_sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
1097 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_replace()
1098 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_replace()
1101 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_replace()
1103 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_replace()
1112 if (i == sfp->count) { in xfs_dir2_sf_replace()
1127 if (sfp->i8count == 1) in xfs_dir2_sf_replace()
1130 sfp->i8count--; in xfs_dir2_sf_replace()
1141 ASSERT(sfp->i8count != 0); in xfs_dir2_sf_replace()
1143 sfp->i8count++; in xfs_dir2_sf_replace()
1167 xfs_dir2_sf_hdr_t *sfp; /* new sf directory */ in xfs_dir2_sf_toino4() local
1191 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino4()
1195 sfp->count = oldsfp->count; in xfs_dir2_sf_toino4()
1196 sfp->i8count = 0; in xfs_dir2_sf_toino4()
1197 xfs_dir2_sf_put_parent_ino(sfp, xfs_dir2_sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino4()
1201 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), in xfs_dir2_sf_toino4()
1203 i < sfp->count; in xfs_dir2_sf_toino4()
1204 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep), in xfs_dir2_sf_toino4()
1209 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_toino4()
1240 xfs_dir2_sf_hdr_t *sfp; /* new sf directory */ in xfs_dir2_sf_toino8() local
1264 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino8()
1268 sfp->count = oldsfp->count; in xfs_dir2_sf_toino8()
1269 sfp->i8count = 1; in xfs_dir2_sf_toino8()
1270 xfs_dir2_sf_put_parent_ino(sfp, xfs_dir2_sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino8()
1274 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), in xfs_dir2_sf_toino8()
1276 i < sfp->count; in xfs_dir2_sf_toino8()
1277 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep), in xfs_dir2_sf_toino8()
1282 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_toino8()