Lines Matching refs:dp
48 xfs_inode_t *dp, /* incore inode pointer */ in xfs_dir2_block_sfsize() argument
68 mp = dp->i_mount; in xfs_dir2_block_sfsize()
120 if (size > XFS_IFORK_DSIZE(dp)) in xfs_dir2_block_sfsize()
128 dp->d_ops->sf_put_parent_ino(sfhp, parent); in xfs_dir2_block_sfsize()
145 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_block_to_sf() local
158 dp = args->dp; in xfs_dir2_block_to_sf()
159 mp = dp->i_mount; in xfs_dir2_block_to_sf()
179 ptr = (char *)dp->d_ops->data_entry_p(hdr); in xfs_dir2_block_to_sf()
200 ASSERT(be64_to_cpu(dep->inumber) == dp->i_ino); in xfs_dir2_block_to_sf()
207 dp->d_ops->sf_get_parent_ino(sfp)); in xfs_dir2_block_to_sf()
217 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_block_to_sf()
219 dp->d_ops->sf_put_ftype(sfep, in xfs_dir2_block_to_sf()
220 dp->d_ops->data_get_ftype(dep)); in xfs_dir2_block_to_sf()
222 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_block_to_sf()
224 ptr += dp->d_ops->data_entsize(dep->namelen); in xfs_dir2_block_to_sf()
242 ASSERT(dp->i_df.if_bytes == 0); in xfs_dir2_block_to_sf()
243 xfs_init_local_fork(dp, XFS_DATA_FORK, dst, size); in xfs_dir2_block_to_sf()
244 dp->i_d.di_format = XFS_DINODE_FMT_LOCAL; in xfs_dir2_block_to_sf()
245 dp->i_d.di_size = size; in xfs_dir2_block_to_sf()
250 xfs_trans_log_inode(args->trans, dp, logflags); in xfs_dir2_block_to_sf()
265 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname() local
278 dp = args->dp; in xfs_dir2_sf_addname()
279 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_addname()
283 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_addname()
284 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_addname()
287 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_addname()
288 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_addname()
289 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname()
290 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_addname()
294 incr_isize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_addname()
308 new_isize = (int)dp->i_d.di_size + incr_isize; in xfs_dir2_sf_addname()
313 if (new_isize > XFS_IFORK_DSIZE(dp) || in xfs_dir2_sf_addname()
349 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_addname()
368 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_easy() local
371 dp = args->dp; in xfs_dir2_sf_addname_easy()
373 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
378 xfs_idata_realloc(dp, dp->d_ops->sf_entsize(sfp, args->namelen), in xfs_dir2_sf_addname_easy()
383 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
391 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_addname_easy()
392 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_addname_easy()
400 dp->i_d.di_size = new_isize; in xfs_dir2_sf_addname_easy()
421 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_hard() local
435 dp = args->dp; in xfs_dir2_sf_addname_hard()
437 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
438 old_isize = (int)dp->i_d.di_size; in xfs_dir2_sf_addname_hard()
447 for (offset = dp->d_ops->data_first_offset, in xfs_dir2_sf_addname_hard()
449 add_datasize = dp->d_ops->data_entsize(args->namelen), in xfs_dir2_sf_addname_hard()
452 offset = new_offset + dp->d_ops->data_entsize(oldsfep->namelen), in xfs_dir2_sf_addname_hard()
453 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep), in xfs_dir2_sf_addname_hard()
464 xfs_idata_realloc(dp, -old_isize, XFS_DATA_FORK); in xfs_dir2_sf_addname_hard()
465 xfs_idata_realloc(dp, new_isize, XFS_DATA_FORK); in xfs_dir2_sf_addname_hard()
469 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
482 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_addname_hard()
483 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_addname_hard()
491 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_sf_addname_hard()
495 dp->i_d.di_size = new_isize; in xfs_dir2_sf_addname_hard()
513 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_pick() local
522 dp = args->dp; in xfs_dir2_sf_addname_pick()
524 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_pick()
525 size = dp->d_ops->data_entsize(args->namelen); in xfs_dir2_sf_addname_pick()
526 offset = dp->d_ops->data_first_offset; in xfs_dir2_sf_addname_pick()
538 dp->d_ops->data_entsize(sfep->namelen); in xfs_dir2_sf_addname_pick()
539 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_sf_addname_pick()
581 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_check() local
589 dp = args->dp; in xfs_dir2_sf_check()
591 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_check()
592 offset = dp->d_ops->data_first_offset; in xfs_dir2_sf_check()
593 ino = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_check()
598 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_check()
600 ino = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_check()
604 dp->d_ops->data_entsize(sfep->namelen); in xfs_dir2_sf_check()
605 ASSERT(dp->d_ops->sf_get_ftype(sfep) < XFS_DIR3_FT_MAX); in xfs_dir2_sf_check()
608 ASSERT((char *)sfep - (char *)sfp == dp->i_d.di_size); in xfs_dir2_sf_check()
729 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_create() local
736 dp = args->dp; in xfs_dir2_sf_create()
738 ASSERT(dp != NULL); in xfs_dir2_sf_create()
739 ASSERT(dp->i_d.di_size == 0); in xfs_dir2_sf_create()
744 if (dp->i_d.di_format == XFS_DINODE_FMT_EXTENTS) { in xfs_dir2_sf_create()
745 dp->i_df.if_flags &= ~XFS_IFEXTENTS; /* just in case */ in xfs_dir2_sf_create()
746 dp->i_d.di_format = XFS_DINODE_FMT_LOCAL; in xfs_dir2_sf_create()
747 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE); in xfs_dir2_sf_create()
748 dp->i_df.if_flags |= XFS_IFINLINE; in xfs_dir2_sf_create()
750 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_create()
751 ASSERT(dp->i_df.if_bytes == 0); in xfs_dir2_sf_create()
757 xfs_idata_realloc(dp, size, XFS_DATA_FORK); in xfs_dir2_sf_create()
761 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_create()
766 dp->d_ops->sf_put_parent_ino(sfp, pino); in xfs_dir2_sf_create()
768 dp->i_d.di_size = size; in xfs_dir2_sf_create()
770 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_create()
782 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_lookup() local
793 dp = args->dp; in xfs_dir2_sf_lookup()
795 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_lookup()
799 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_lookup()
800 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_lookup()
803 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_lookup()
804 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_lookup()
805 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_lookup()
806 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_lookup()
811 args->inumber = dp->i_ino; in xfs_dir2_sf_lookup()
821 args->inumber = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
831 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_lookup()
837 cmp = dp->i_mount->m_dirnameops->compname(args, sfep->name, in xfs_dir2_sf_lookup()
841 args->inumber = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_lookup()
842 args->filetype = dp->d_ops->sf_get_ftype(sfep); in xfs_dir2_sf_lookup()
868 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_removename() local
878 dp = args->dp; in xfs_dir2_sf_removename()
880 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_removename()
881 oldsize = (int)dp->i_d.di_size; in xfs_dir2_sf_removename()
886 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_removename()
889 ASSERT(dp->i_df.if_bytes == oldsize); in xfs_dir2_sf_removename()
890 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_removename()
891 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
898 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_removename()
901 ASSERT(dp->d_ops->sf_get_ino(sfp, sfep) == in xfs_dir2_sf_removename()
915 entsize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_removename()
927 dp->i_d.di_size = newsize; in xfs_dir2_sf_removename()
931 xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); in xfs_dir2_sf_removename()
932 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
943 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_removename()
954 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_replace() local
963 dp = args->dp; in xfs_dir2_sf_replace()
965 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_replace()
969 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_replace()
970 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_replace()
973 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_replace()
974 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_replace()
975 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
976 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_replace()
985 newsize = dp->i_df.if_bytes + (sfp->count + 1) * XFS_INO64_DIFF; in xfs_dir2_sf_replace()
989 if (newsize > XFS_IFORK_DSIZE(dp)) { in xfs_dir2_sf_replace()
1001 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
1011 ino = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_replace()
1013 dp->d_ops->sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
1020 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_replace()
1023 ino = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_replace()
1025 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_replace()
1026 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_replace()
1067 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); in xfs_dir2_sf_replace()
1080 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_toino4() local
1091 dp = args->dp; in xfs_dir2_sf_toino4()
1098 oldsize = dp->i_df.if_bytes; in xfs_dir2_sf_toino4()
1100 oldsfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino4()
1107 xfs_idata_realloc(dp, -oldsize, XFS_DATA_FORK); in xfs_dir2_sf_toino4()
1108 xfs_idata_realloc(dp, newsize, XFS_DATA_FORK); in xfs_dir2_sf_toino4()
1113 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino4()
1119 dp->d_ops->sf_put_parent_ino(sfp, dp->d_ops->sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino4()
1126 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep), in xfs_dir2_sf_toino4()
1127 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep)) { in xfs_dir2_sf_toino4()
1131 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_sf_toino4()
1132 dp->d_ops->sf_get_ino(oldsfp, oldsfep)); in xfs_dir2_sf_toino4()
1133 dp->d_ops->sf_put_ftype(sfep, dp->d_ops->sf_get_ftype(oldsfep)); in xfs_dir2_sf_toino4()
1139 dp->i_d.di_size = newsize; in xfs_dir2_sf_toino4()
1140 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino4()
1153 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_toino8() local
1164 dp = args->dp; in xfs_dir2_sf_toino8()
1171 oldsize = dp->i_df.if_bytes; in xfs_dir2_sf_toino8()
1173 oldsfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino8()
1180 xfs_idata_realloc(dp, -oldsize, XFS_DATA_FORK); in xfs_dir2_sf_toino8()
1181 xfs_idata_realloc(dp, newsize, XFS_DATA_FORK); in xfs_dir2_sf_toino8()
1186 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino8()
1192 dp->d_ops->sf_put_parent_ino(sfp, dp->d_ops->sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino8()
1199 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep), in xfs_dir2_sf_toino8()
1200 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep)) { in xfs_dir2_sf_toino8()
1204 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_sf_toino8()
1205 dp->d_ops->sf_get_ino(oldsfp, oldsfep)); in xfs_dir2_sf_toino8()
1206 dp->d_ops->sf_put_ftype(sfep, dp->d_ops->sf_get_ftype(oldsfep)); in xfs_dir2_sf_toino8()
1212 dp->i_d.di_size = newsize; in xfs_dir2_sf_toino8()
1213 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino8()