Lines Matching refs:dp
202 xfs_inode_t *dp) in xfs_dir_isempty() argument
206 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_isempty()
207 if (dp->i_disk_size == 0) /* might happen during shutdown. */ in xfs_dir_isempty()
209 if (dp->i_disk_size > xfs_inode_data_fork_size(dp)) in xfs_dir_isempty()
211 sfp = dp->i_df.if_data; in xfs_dir_isempty()
240 xfs_inode_t *dp, in xfs_dir_init() argument
246 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_init()
255 args->geo = dp->i_mount->m_dir_geo; in xfs_dir_init()
256 args->dp = dp; in xfs_dir_init()
258 args->owner = dp->i_ino; in xfs_dir_init()
269 struct xfs_inode *dp = args->dp; in xfs_dir2_format() local
270 struct xfs_mount *mp = dp->i_mount; in xfs_dir2_format()
274 xfs_assert_ilocked(dp, XFS_ILOCK_SHARED | XFS_ILOCK_EXCL); in xfs_dir2_format()
277 if (dp->i_df.if_format == XFS_DINODE_FMT_LOCAL) in xfs_dir2_format()
280 *error = xfs_bmap_last_offset(dp, &eof, XFS_DATA_FORK); in xfs_dir2_format()
285 if (XFS_IS_CORRUPT(mp, dp->i_disk_size != geo->blksize)) { in xfs_dir2_format()
327 struct xfs_inode *dp, in xfs_dir_createname() argument
335 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_createname()
341 XFS_STATS_INC(dp->i_mount, xs_dir_create); in xfs_dir_createname()
348 args->geo = dp->i_mount->m_dir_geo; in xfs_dir_createname()
352 args->hashval = xfs_dir2_hashname(dp->i_mount, name); in xfs_dir_createname()
354 args->dp = dp; in xfs_dir_createname()
359 args->owner = dp->i_ino; in xfs_dir_createname()
428 struct xfs_inode *dp, in xfs_dir_lookup() argument
437 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_lookup()
438 XFS_STATS_INC(dp->i_mount, xs_dir_lookup); in xfs_dir_lookup()
442 args->geo = dp->i_mount->m_dir_geo; in xfs_dir_lookup()
446 args->hashval = xfs_dir2_hashname(dp->i_mount, name); in xfs_dir_lookup()
447 args->dp = dp; in xfs_dir_lookup()
451 args->owner = dp->i_ino; in xfs_dir_lookup()
455 lock_mode = xfs_ilock_data_map_shared(dp); in xfs_dir_lookup()
464 xfs_iunlock(dp, lock_mode); in xfs_dir_lookup()
495 struct xfs_inode *dp, in xfs_dir_removename() argument
503 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_removename()
504 XFS_STATS_INC(dp->i_mount, xs_dir_remove); in xfs_dir_removename()
510 args->geo = dp->i_mount->m_dir_geo; in xfs_dir_removename()
514 args->hashval = xfs_dir2_hashname(dp->i_mount, name); in xfs_dir_removename()
516 args->dp = dp; in xfs_dir_removename()
520 args->owner = dp->i_ino; in xfs_dir_removename()
552 struct xfs_inode *dp, in xfs_dir_replace() argument
560 ASSERT(S_ISDIR(VFS_I(dp)->i_mode)); in xfs_dir_replace()
570 args->geo = dp->i_mount->m_dir_geo; in xfs_dir_replace()
574 args->hashval = xfs_dir2_hashname(dp->i_mount, name); in xfs_dir_replace()
576 args->dp = dp; in xfs_dir_replace()
580 args->owner = dp->i_ino; in xfs_dir_replace()
592 struct xfs_inode *dp, in xfs_dir_canenter() argument
595 return xfs_dir_createname(tp, dp, name, 0, 0); in xfs_dir_canenter()
614 struct xfs_inode *dp = args->dp; in xfs_dir2_grow_inode() local
615 struct xfs_mount *mp = dp->i_mount; in xfs_dir2_grow_inode()
641 if (size > dp->i_disk_size) { in xfs_dir2_grow_inode()
642 dp->i_disk_size = size; in xfs_dir2_grow_inode()
643 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE); in xfs_dir2_grow_inode()
663 struct xfs_inode *dp; in xfs_dir2_shrink_inode() local
670 dp = args->dp; in xfs_dir2_shrink_inode()
671 mp = dp->i_mount; in xfs_dir2_shrink_inode()
676 error = xfs_bunmapi(tp, dp, da, args->geo->fsbcount, 0, 0, &done); in xfs_dir2_shrink_inode()
705 if (dp->i_disk_size > xfs_dir2_db_off_to_byte(args->geo, db + 1, 0)) in xfs_dir2_shrink_inode()
708 if ((error = xfs_bmap_last_before(tp, dp, &bno, XFS_DATA_FORK))) { in xfs_dir2_shrink_inode()
721 dp->i_disk_size = XFS_FSB_TO_B(mp, bno); in xfs_dir2_shrink_inode()
722 xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE); in xfs_dir2_shrink_inode()
759 if (unlikely(xfs_has_asciici(args->dp->i_mount))) in xfs_dir2_compname()
793 struct xfs_inode *dp, in xfs_dir_update_hook() argument
800 .dp = dp, in xfs_dir_update_hook()
851 struct xfs_inode *dp = du->dp; in xfs_dir_create_child() local
857 xfs_assert_ilocked(dp, XFS_ILOCK_EXCL); in xfs_dir_create_child()
859 error = xfs_dir_createname(tp, dp, name, ip->i_ino, resblks); in xfs_dir_create_child()
865 xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); in xfs_dir_create_child()
866 xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE); in xfs_dir_create_child()
869 error = xfs_dir_init(tp, ip, dp); in xfs_dir_create_child()
873 xfs_bumplink(tp, dp); in xfs_dir_create_child()
881 error = xfs_parent_addname(tp, du->ppargs, dp, name, ip); in xfs_dir_create_child()
886 xfs_dir_update_hook(dp, ip, 1, name); in xfs_dir_create_child()
901 struct xfs_inode *dp = du->dp; in xfs_dir_add_child() local
908 xfs_assert_ilocked(dp, XFS_ILOCK_EXCL); in xfs_dir_add_child()
912 error = xfs_dir_canenter(tp, dp, name); in xfs_dir_add_child()
930 error = xfs_dir_createname(tp, dp, name, ip->i_ino, resblks); in xfs_dir_add_child()
934 xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); in xfs_dir_add_child()
935 xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE); in xfs_dir_add_child()
946 error = xfs_parent_addname(tp, du->ppargs, dp, name, ip); in xfs_dir_add_child()
951 xfs_dir_update_hook(dp, ip, 1, name); in xfs_dir_add_child()
965 struct xfs_inode *dp = du->dp; in xfs_dir_remove_child() local
971 xfs_assert_ilocked(dp, XFS_ILOCK_EXCL); in xfs_dir_remove_child()
984 error = xfs_droplink(tp, dp); in xfs_dir_remove_child()
999 if (dp->i_ino != tp->t_mountp->m_sb.sb_rootino) { in xfs_dir_remove_child()
1011 xfs_trans_log_inode(tp, dp, XFS_ILOG_CORE); in xfs_dir_remove_child()
1013 xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); in xfs_dir_remove_child()
1020 error = xfs_dir_removename(tp, dp, name, ip->i_ino, resblks); in xfs_dir_remove_child()
1028 error = xfs_parent_removename(tp, du->ppargs, dp, name, ip); in xfs_dir_remove_child()
1033 xfs_dir_update_hook(dp, ip, -1, name); in xfs_dir_remove_child()
1051 struct xfs_inode *dp1 = du1->dp; in xfs_dir_exchange_children()
1054 struct xfs_inode *dp2 = du2->dp; in xfs_dir_exchange_children()
1196 struct xfs_inode *src_dp = du_src->dp; in xfs_dir_rename_children()
1199 struct xfs_inode *target_dp = du_tgt->dp; in xfs_dir_rename_children()