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