Lines Matching full:sfp

268 	struct xfs_dir2_sf_hdr	*sfp;		/* shortform directory header */  in xfs_dir2_block_to_sf()  local
279 sfp = kmalloc(mp->m_sb.sb_inodesize, GFP_KERNEL | __GFP_NOFAIL); 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 kfree(sfp); in xfs_dir2_block_to_sf()
368 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_addname() local
383 ASSERT(sfp != NULL); in xfs_dir2_sf_addname()
384 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_addname()
388 incr_isize = xfs_dir2_sf_entsize(dp->i_mount, sfp, args->namelen); in xfs_dir2_sf_addname()
394 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_addname()
398 incr_isize += (sfp->count + 2) * XFS_INO64_DIFF; in xfs_dir2_sf_addname()
463 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_addname_easy() local
464 int byteoff = (int)((char *)sfep - (char *)sfp); in xfs_dir2_sf_addname_easy()
469 sfp = xfs_idata_realloc(dp, xfs_dir2_sf_entsize(mp, sfp, args->namelen), in xfs_dir2_sf_addname_easy()
474 sfep = (xfs_dir2_sf_entry_t *)((char *)sfp + byteoff); in xfs_dir2_sf_addname_easy()
481 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_easy()
487 sfp->count++; in xfs_dir2_sf_addname_easy()
489 sfp->i8count++; in xfs_dir2_sf_addname_easy()
521 xfs_dir2_sf_hdr_t *sfp; /* new shortform dir */ in xfs_dir2_sf_addname_hard() local
553 sfp = xfs_idata_realloc(dp, new_isize, XFS_DATA_FORK); in xfs_dir2_sf_addname_hard()
559 memcpy(sfp, oldsfp, nbytes); in xfs_dir2_sf_addname_hard()
560 sfep = (xfs_dir2_sf_entry_t *)((char *)sfp + nbytes); in xfs_dir2_sf_addname_hard()
567 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_hard()
569 sfp->count++; in xfs_dir2_sf_addname_hard()
571 sfp->i8count++; in xfs_dir2_sf_addname_hard()
576 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_addname_hard()
604 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_addname_pick() local
610 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_addname_pick()
617 for (i = 0; i < sfp->count; i++) { in xfs_dir2_sf_addname_pick()
622 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_addname_pick()
629 (sfp->count + 3) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_addname_pick()
666 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_check() local
674 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_check()
677 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_check()
678 i < sfp->count; in xfs_dir2_sf_check()
679 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_check()
681 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_check()
688 ASSERT(i8count == sfp->i8count); in xfs_dir2_sf_check()
689 ASSERT((char *)sfep - (char *)sfp == dp->i_disk_size); in xfs_dir2_sf_check()
691 (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_check()
700 struct xfs_dir2_sf_hdr *sfp, in xfs_dir2_sf_verify() argument
717 size < xfs_dir2_sf_hdr_size(sfp->i8count)) in xfs_dir2_sf_verify()
720 endp = (char *)sfp + size; in xfs_dir2_sf_verify()
723 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_verify()
731 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_sf_verify()
732 for (i = 0; i < sfp->count; i++) { in xfs_dir2_sf_verify()
750 next_sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_sf_verify()
759 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_verify()
775 if (i8count != sfp->i8count) in xfs_dir2_sf_verify()
781 if (offset + (sfp->count + 2) * (uint)sizeof(xfs_dir2_leaf_entry_t) + in xfs_dir2_sf_verify()
798 xfs_dir2_sf_hdr_t *sfp; /* shortform structure */ in xfs_dir2_sf_create() local
823 sfp = xfs_idata_realloc(dp, size, XFS_DATA_FORK); in xfs_dir2_sf_create()
824 sfp->i8count = i8count; in xfs_dir2_sf_create()
829 xfs_dir2_sf_put_parent_ino(sfp, pino); in xfs_dir2_sf_create()
830 sfp->count = 0; in xfs_dir2_sf_create()
847 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_lookup() local
860 ASSERT(sfp != NULL); in xfs_dir2_sf_lookup()
861 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_lookup()
876 args->inumber = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
885 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_lookup()
886 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_lookup()
895 args->inumber = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_lookup()
922 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_removename() local
936 ASSERT(sfp != NULL); in xfs_dir2_sf_removename()
937 ASSERT(oldsize >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_removename()
942 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_removename()
943 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_removename()
946 ASSERT(xfs_dir2_sf_get_ino(mp, sfp, sfep) == in xfs_dir2_sf_removename()
954 if (i == sfp->count) in xfs_dir2_sf_removename()
959 byteoff = (int)((char *)sfep - (char *)sfp); in xfs_dir2_sf_removename()
960 entsize = xfs_dir2_sf_entsize(mp, sfp, args->namelen); in xfs_dir2_sf_removename()
966 memmove((char *)sfp + byteoff, (char *)sfp + byteoff + entsize, in xfs_dir2_sf_removename()
971 sfp->count--; in xfs_dir2_sf_removename()
977 sfp = xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); in xfs_dir2_sf_removename()
983 if (sfp->i8count == 1) in xfs_dir2_sf_removename()
986 sfp->i8count--; in xfs_dir2_sf_removename()
1001 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_replace_needblock() local
1007 newsize = dp->i_df.if_bytes + (sfp->count + 1) * XFS_INO64_DIFF; in xfs_dir2_sf_replace_needblock()
1010 sfp->i8count == 0 && newsize > xfs_inode_data_fork_size(dp); in xfs_dir2_sf_replace_needblock()
1022 struct xfs_dir2_sf_hdr *sfp = dp->i_df.if_data; in xfs_dir2_sf_replace() local
1033 ASSERT(sfp != NULL); in xfs_dir2_sf_replace()
1034 ASSERT(dp->i_disk_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_replace()
1039 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_replace()
1056 sfp = dp->i_df.if_data; in xfs_dir2_sf_replace()
1066 ino = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_replace()
1068 xfs_dir2_sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
1074 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp); i < sfp->count; in xfs_dir2_sf_replace()
1075 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep)) { in xfs_dir2_sf_replace()
1078 ino = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_replace()
1080 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_replace()
1089 if (i == sfp->count) { in xfs_dir2_sf_replace()
1104 if (sfp->i8count == 1) in xfs_dir2_sf_replace()
1107 sfp->i8count--; in xfs_dir2_sf_replace()
1118 ASSERT(sfp->i8count != 0); in xfs_dir2_sf_replace()
1120 sfp->i8count++; in xfs_dir2_sf_replace()
1144 xfs_dir2_sf_hdr_t *sfp; /* new sf directory */ in xfs_dir2_sf_toino4() local
1167 sfp = dp->i_df.if_data; in xfs_dir2_sf_toino4()
1171 sfp->count = oldsfp->count; in xfs_dir2_sf_toino4()
1172 sfp->i8count = 0; in xfs_dir2_sf_toino4()
1173 xfs_dir2_sf_put_parent_ino(sfp, xfs_dir2_sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino4()
1177 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), in xfs_dir2_sf_toino4()
1179 i < sfp->count; in xfs_dir2_sf_toino4()
1180 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep), in xfs_dir2_sf_toino4()
1185 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_toino4()
1216 xfs_dir2_sf_hdr_t *sfp; /* new sf directory */ in xfs_dir2_sf_toino8() local
1239 sfp = dp->i_df.if_data; in xfs_dir2_sf_toino8()
1243 sfp->count = oldsfp->count; in xfs_dir2_sf_toino8()
1244 sfp->i8count = 1; in xfs_dir2_sf_toino8()
1245 xfs_dir2_sf_put_parent_ino(sfp, xfs_dir2_sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino8()
1249 for (i = 0, sfep = xfs_dir2_sf_firstentry(sfp), in xfs_dir2_sf_toino8()
1251 i < sfp->count; in xfs_dir2_sf_toino8()
1252 i++, sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep), in xfs_dir2_sf_toino8()
1257 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_sf_toino8()