Lines Matching refs:dp
63 xfs_inode_t *dp, /* incore inode pointer */ in xfs_dir2_block_sfsize() argument
83 mp = dp->i_mount; in xfs_dir2_block_sfsize()
136 if (size > XFS_IFORK_DSIZE(dp)) in xfs_dir2_block_sfsize()
144 dp->d_ops->sf_put_parent_ino(sfhp, parent); in xfs_dir2_block_sfsize()
162 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_block_to_sf() local
175 dp = args->dp; in xfs_dir2_block_to_sf()
176 mp = dp->i_mount; in xfs_dir2_block_to_sf()
197 ptr = (char *)dp->d_ops->data_entry_p(hdr); in xfs_dir2_block_to_sf()
218 ASSERT(be64_to_cpu(dep->inumber) == dp->i_ino); in xfs_dir2_block_to_sf()
225 dp->d_ops->sf_get_parent_ino(sfp)); in xfs_dir2_block_to_sf()
235 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_block_to_sf()
237 dp->d_ops->sf_put_ftype(sfep, in xfs_dir2_block_to_sf()
238 dp->d_ops->data_get_ftype(dep)); in xfs_dir2_block_to_sf()
240 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_block_to_sf()
242 ptr += dp->d_ops->data_entsize(dep->namelen); in xfs_dir2_block_to_sf()
260 dp->i_df.if_flags &= ~XFS_IFEXTENTS; in xfs_dir2_block_to_sf()
261 dp->i_df.if_flags |= XFS_IFINLINE; in xfs_dir2_block_to_sf()
262 dp->i_d.di_format = XFS_DINODE_FMT_LOCAL; in xfs_dir2_block_to_sf()
263 ASSERT(dp->i_df.if_bytes == 0); in xfs_dir2_block_to_sf()
264 xfs_idata_realloc(dp, size, XFS_DATA_FORK); in xfs_dir2_block_to_sf()
267 memcpy(dp->i_df.if_u1.if_data, dst, size); in xfs_dir2_block_to_sf()
268 dp->i_d.di_size = size; in xfs_dir2_block_to_sf()
271 xfs_trans_log_inode(args->trans, dp, logflags); in xfs_dir2_block_to_sf()
286 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname() local
299 dp = args->dp; in xfs_dir2_sf_addname()
300 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_addname()
304 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_addname()
305 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_addname()
308 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_addname()
309 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_addname()
310 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname()
311 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_addname()
315 incr_isize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_addname()
332 new_isize = (int)dp->i_d.di_size + incr_isize; in xfs_dir2_sf_addname()
337 if (new_isize > XFS_IFORK_DSIZE(dp) || in xfs_dir2_sf_addname()
373 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_addname()
392 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_easy() local
395 dp = args->dp; in xfs_dir2_sf_addname_easy()
397 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
402 xfs_idata_realloc(dp, dp->d_ops->sf_entsize(sfp, args->namelen), in xfs_dir2_sf_addname_easy()
407 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_easy()
415 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_addname_easy()
416 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_addname_easy()
424 dp->i_d.di_size = new_isize; in xfs_dir2_sf_addname_easy()
445 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_hard() local
459 dp = args->dp; in xfs_dir2_sf_addname_hard()
461 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
462 old_isize = (int)dp->i_d.di_size; in xfs_dir2_sf_addname_hard()
471 for (offset = dp->d_ops->data_first_offset, in xfs_dir2_sf_addname_hard()
473 add_datasize = dp->d_ops->data_entsize(args->namelen), in xfs_dir2_sf_addname_hard()
476 offset = new_offset + dp->d_ops->data_entsize(oldsfep->namelen), in xfs_dir2_sf_addname_hard()
477 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep), in xfs_dir2_sf_addname_hard()
488 xfs_idata_realloc(dp, -old_isize, XFS_DATA_FORK); in xfs_dir2_sf_addname_hard()
489 xfs_idata_realloc(dp, new_isize, XFS_DATA_FORK); in xfs_dir2_sf_addname_hard()
493 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_hard()
506 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_addname_hard()
507 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_addname_hard()
515 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_sf_addname_hard()
519 dp->i_d.di_size = new_isize; in xfs_dir2_sf_addname_hard()
537 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_addname_pick() local
546 dp = args->dp; in xfs_dir2_sf_addname_pick()
548 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_addname_pick()
549 size = dp->d_ops->data_entsize(args->namelen); in xfs_dir2_sf_addname_pick()
550 offset = dp->d_ops->data_first_offset; in xfs_dir2_sf_addname_pick()
562 dp->d_ops->data_entsize(sfep->namelen); in xfs_dir2_sf_addname_pick()
563 sfep = dp->d_ops->sf_nextentry(sfp, sfep); in xfs_dir2_sf_addname_pick()
605 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_check() local
613 dp = args->dp; in xfs_dir2_sf_check()
615 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_check()
616 offset = dp->d_ops->data_first_offset; in xfs_dir2_sf_check()
617 ino = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_check()
622 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_check()
624 ino = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_check()
628 dp->d_ops->data_entsize(sfep->namelen); in xfs_dir2_sf_check()
629 ASSERT(dp->d_ops->sf_get_ftype(sfep) < XFS_DIR3_FT_MAX); in xfs_dir2_sf_check()
632 ASSERT((char *)sfep - (char *)sfp == dp->i_d.di_size); in xfs_dir2_sf_check()
647 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_create() local
654 dp = args->dp; in xfs_dir2_sf_create()
656 ASSERT(dp != NULL); in xfs_dir2_sf_create()
657 ASSERT(dp->i_d.di_size == 0); in xfs_dir2_sf_create()
662 if (dp->i_d.di_format == XFS_DINODE_FMT_EXTENTS) { in xfs_dir2_sf_create()
663 dp->i_df.if_flags &= ~XFS_IFEXTENTS; /* just in case */ in xfs_dir2_sf_create()
664 dp->i_d.di_format = XFS_DINODE_FMT_LOCAL; in xfs_dir2_sf_create()
665 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE); in xfs_dir2_sf_create()
666 dp->i_df.if_flags |= XFS_IFINLINE; in xfs_dir2_sf_create()
668 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_create()
669 ASSERT(dp->i_df.if_bytes == 0); in xfs_dir2_sf_create()
675 xfs_idata_realloc(dp, size, XFS_DATA_FORK); in xfs_dir2_sf_create()
679 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_create()
684 dp->d_ops->sf_put_parent_ino(sfp, pino); in xfs_dir2_sf_create()
686 dp->i_d.di_size = size; in xfs_dir2_sf_create()
688 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_create()
700 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_lookup() local
711 dp = args->dp; in xfs_dir2_sf_lookup()
713 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_lookup()
717 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_lookup()
718 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_lookup()
721 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_lookup()
722 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_lookup()
723 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_lookup()
724 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_lookup()
729 args->inumber = dp->i_ino; in xfs_dir2_sf_lookup()
739 args->inumber = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
749 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_lookup()
755 cmp = dp->i_mount->m_dirnameops->compname(args, sfep->name, in xfs_dir2_sf_lookup()
759 args->inumber = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_lookup()
760 args->filetype = dp->d_ops->sf_get_ftype(sfep); in xfs_dir2_sf_lookup()
786 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_removename() local
796 dp = args->dp; in xfs_dir2_sf_removename()
798 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_removename()
799 oldsize = (int)dp->i_d.di_size; in xfs_dir2_sf_removename()
804 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_removename()
807 ASSERT(dp->i_df.if_bytes == oldsize); in xfs_dir2_sf_removename()
808 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_removename()
809 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
816 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_removename()
819 ASSERT(dp->d_ops->sf_get_ino(sfp, sfep) == in xfs_dir2_sf_removename()
833 entsize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_removename()
845 dp->i_d.di_size = newsize; in xfs_dir2_sf_removename()
849 xfs_idata_realloc(dp, newsize - oldsize, XFS_DATA_FORK); in xfs_dir2_sf_removename()
850 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_removename()
861 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_removename()
872 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_replace() local
881 dp = args->dp; in xfs_dir2_sf_replace()
883 ASSERT(dp->i_df.if_flags & XFS_IFINLINE); in xfs_dir2_sf_replace()
887 if (dp->i_d.di_size < offsetof(xfs_dir2_sf_hdr_t, parent)) { in xfs_dir2_sf_replace()
888 ASSERT(XFS_FORCED_SHUTDOWN(dp->i_mount)); in xfs_dir2_sf_replace()
891 ASSERT(dp->i_df.if_bytes == dp->i_d.di_size); in xfs_dir2_sf_replace()
892 ASSERT(dp->i_df.if_u1.if_data != NULL); in xfs_dir2_sf_replace()
893 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
894 ASSERT(dp->i_d.di_size >= xfs_dir2_sf_hdr_size(sfp->i8count)); in xfs_dir2_sf_replace()
904 dp->i_df.if_bytes + in xfs_dir2_sf_replace()
911 if (newsize > XFS_IFORK_DSIZE(dp)) { in xfs_dir2_sf_replace()
923 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_replace()
933 ino = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_replace()
935 dp->d_ops->sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
942 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep)) { in xfs_dir2_sf_replace()
945 ino = dp->d_ops->sf_get_ino(sfp, sfep); in xfs_dir2_sf_replace()
947 dp->d_ops->sf_put_ino(sfp, sfep, args->inumber); in xfs_dir2_sf_replace()
948 dp->d_ops->sf_put_ftype(sfep, args->filetype); in xfs_dir2_sf_replace()
989 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); in xfs_dir2_sf_replace()
1002 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_toino4() local
1013 dp = args->dp; in xfs_dir2_sf_toino4()
1020 oldsize = dp->i_df.if_bytes; in xfs_dir2_sf_toino4()
1022 oldsfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino4()
1032 xfs_idata_realloc(dp, -oldsize, XFS_DATA_FORK); in xfs_dir2_sf_toino4()
1033 xfs_idata_realloc(dp, newsize, XFS_DATA_FORK); in xfs_dir2_sf_toino4()
1038 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino4()
1044 dp->d_ops->sf_put_parent_ino(sfp, dp->d_ops->sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino4()
1051 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep), in xfs_dir2_sf_toino4()
1052 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep)) { in xfs_dir2_sf_toino4()
1056 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_sf_toino4()
1057 dp->d_ops->sf_get_ino(oldsfp, oldsfep)); in xfs_dir2_sf_toino4()
1058 dp->d_ops->sf_put_ftype(sfep, dp->d_ops->sf_get_ftype(oldsfep)); in xfs_dir2_sf_toino4()
1064 dp->i_d.di_size = newsize; in xfs_dir2_sf_toino4()
1065 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino4()
1078 xfs_inode_t *dp; /* incore directory inode */ in xfs_dir2_sf_toino8() local
1089 dp = args->dp; in xfs_dir2_sf_toino8()
1096 oldsize = dp->i_df.if_bytes; in xfs_dir2_sf_toino8()
1098 oldsfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino8()
1108 xfs_idata_realloc(dp, -oldsize, XFS_DATA_FORK); in xfs_dir2_sf_toino8()
1109 xfs_idata_realloc(dp, newsize, XFS_DATA_FORK); in xfs_dir2_sf_toino8()
1114 sfp = (xfs_dir2_sf_hdr_t *)dp->i_df.if_u1.if_data; in xfs_dir2_sf_toino8()
1120 dp->d_ops->sf_put_parent_ino(sfp, dp->d_ops->sf_get_parent_ino(oldsfp)); in xfs_dir2_sf_toino8()
1127 i++, sfep = dp->d_ops->sf_nextentry(sfp, sfep), in xfs_dir2_sf_toino8()
1128 oldsfep = dp->d_ops->sf_nextentry(oldsfp, oldsfep)) { in xfs_dir2_sf_toino8()
1132 dp->d_ops->sf_put_ino(sfp, sfep, in xfs_dir2_sf_toino8()
1133 dp->d_ops->sf_get_ino(oldsfp, oldsfep)); in xfs_dir2_sf_toino8()
1134 dp->d_ops->sf_put_ftype(sfep, dp->d_ops->sf_get_ftype(oldsfep)); in xfs_dir2_sf_toino8()
1140 dp->i_d.di_size = newsize; in xfs_dir2_sf_toino8()
1141 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino8()