• Home
  • Raw
  • Download

Lines Matching refs:args

22 static void xfs_dir2_sf_addname_easy(xfs_da_args_t *args,
26 static void xfs_dir2_sf_addname_hard(xfs_da_args_t *args, int objchange,
28 static int xfs_dir2_sf_addname_pick(xfs_da_args_t *args, int objchange,
32 static void xfs_dir2_sf_check(xfs_da_args_t *args);
34 #define xfs_dir2_sf_check(args) argument
37 static void xfs_dir2_sf_toino4(xfs_da_args_t *args);
38 static void xfs_dir2_sf_toino8(xfs_da_args_t *args);
138 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_block_to_sf() argument
156 trace_xfs_dir2_block_to_sf(args); in xfs_dir2_block_to_sf()
158 dp = args->dp; in xfs_dir2_block_to_sf()
180 endptr = xfs_dir3_data_endp(args->geo, hdr); in xfs_dir2_block_to_sf()
230 error = xfs_dir2_shrink_inode(args, args->geo->datablk, bp); in xfs_dir2_block_to_sf()
248 xfs_dir2_sf_check(args); in xfs_dir2_block_to_sf()
250 xfs_trans_log_inode(args->trans, dp, logflags); in xfs_dir2_block_to_sf()
263 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_addname() argument
275 trace_xfs_dir2_sf_addname(args); in xfs_dir2_sf_addname()
277 ASSERT(xfs_dir2_sf_lookup(args) == -ENOENT); in xfs_dir2_sf_addname()
278 dp = args->dp; in xfs_dir2_sf_addname()
294 incr_isize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_addname()
300 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_addname()
315 xfs_dir2_sf_addname_pick(args, objchange, &sfep, &offset)) == 0) { in xfs_dir2_sf_addname()
319 if ((args->op_flags & XFS_DA_OP_JUSTCHECK) || args->total == 0) in xfs_dir2_sf_addname()
324 error = xfs_dir2_sf_to_block(args); in xfs_dir2_sf_addname()
327 return xfs_dir2_block_addname(args); in xfs_dir2_sf_addname()
332 if (args->op_flags & XFS_DA_OP_JUSTCHECK) in xfs_dir2_sf_addname()
338 xfs_dir2_sf_addname_easy(args, sfep, offset, new_isize); in xfs_dir2_sf_addname()
346 xfs_dir2_sf_toino8(args); in xfs_dir2_sf_addname()
347 xfs_dir2_sf_addname_hard(args, objchange, new_isize); in xfs_dir2_sf_addname()
349 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_addname()
362 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_easy() argument
371 dp = args->dp; 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()
388 sfep->namelen = args->namelen; in xfs_dir2_sf_addname_easy()
390 memcpy(sfep->name, args->name, sfep->namelen); 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()
398 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) in xfs_dir2_sf_addname_easy()
401 xfs_dir2_sf_check(args); in xfs_dir2_sf_addname_easy()
415 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_hard() argument
435 dp = args->dp; in xfs_dir2_sf_addname_hard()
449 add_datasize = dp->d_ops->data_entsize(args->namelen), in xfs_dir2_sf_addname_hard()
479 sfep->namelen = args->namelen; in xfs_dir2_sf_addname_hard()
481 memcpy(sfep->name, args->name, sfep->namelen); 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()
485 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) in xfs_dir2_sf_addname_hard()
496 xfs_dir2_sf_check(args); in xfs_dir2_sf_addname_hard()
508 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_pick() argument
522 dp = args->dp; in xfs_dir2_sf_addname_pick()
525 size = dp->d_ops->data_entsize(args->namelen); in xfs_dir2_sf_addname_pick()
553 if (used + (holefit ? 0 : size) > args->geo->blksize) in xfs_dir2_sf_addname_pick()
563 if (used + size > args->geo->blksize) in xfs_dir2_sf_addname_pick()
579 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_check() argument
589 dp = args->dp; in xfs_dir2_sf_check()
611 (uint)sizeof(xfs_dir2_block_tail_t) <= args->geo->blksize); in xfs_dir2_sf_check()
726 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_create() argument
734 trace_xfs_dir2_sf_create(args); in xfs_dir2_sf_create()
736 dp = args->dp; in xfs_dir2_sf_create()
747 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE); in xfs_dir2_sf_create()
769 xfs_dir2_sf_check(args); in xfs_dir2_sf_create()
770 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_create()
780 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_lookup() argument
790 trace_xfs_dir2_sf_lookup(args); in xfs_dir2_sf_lookup()
792 xfs_dir2_sf_check(args); in xfs_dir2_sf_lookup()
793 dp = args->dp; in xfs_dir2_sf_lookup()
810 if (args->namelen == 1 && args->name[0] == '.') { in xfs_dir2_sf_lookup()
811 args->inumber = dp->i_ino; in xfs_dir2_sf_lookup()
812 args->cmpresult = XFS_CMP_EXACT; in xfs_dir2_sf_lookup()
813 args->filetype = XFS_DIR3_FT_DIR; in xfs_dir2_sf_lookup()
819 if (args->namelen == 2 && in xfs_dir2_sf_lookup()
820 args->name[0] == '.' && args->name[1] == '.') { in xfs_dir2_sf_lookup()
821 args->inumber = dp->d_ops->sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
822 args->cmpresult = XFS_CMP_EXACT; in xfs_dir2_sf_lookup()
823 args->filetype = XFS_DIR3_FT_DIR; in xfs_dir2_sf_lookup()
837 cmp = dp->i_mount->m_dirnameops->compname(args, sfep->name, in xfs_dir2_sf_lookup()
839 if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { in xfs_dir2_sf_lookup()
840 args->cmpresult = cmp; 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()
848 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_sf_lookup()
856 error = xfs_dir_cilookup_result(args, ci_sfep->name, ci_sfep->namelen); in xfs_dir2_sf_lookup()
865 xfs_da_args_t *args) in xfs_dir2_sf_removename() argument
876 trace_xfs_dir2_sf_removename(args); in xfs_dir2_sf_removename()
878 dp = args->dp; in xfs_dir2_sf_removename()
899 if (xfs_da_compname(args, sfep->name, sfep->namelen) == in xfs_dir2_sf_removename()
902 args->inumber); in xfs_dir2_sf_removename()
915 entsize = dp->d_ops->sf_entsize(sfp, args->namelen); in xfs_dir2_sf_removename()
936 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_removename()
938 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_removename()
942 xfs_dir2_sf_check(args); in xfs_dir2_sf_removename()
943 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_removename()
952 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_replace() argument
961 trace_xfs_dir2_sf_replace(args); in xfs_dir2_sf_replace()
963 dp = args->dp; in xfs_dir2_sf_replace()
981 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_replace()
990 error = xfs_dir2_sf_to_block(args); in xfs_dir2_sf_replace()
994 return xfs_dir2_block_replace(args); in xfs_dir2_sf_replace()
999 xfs_dir2_sf_toino8(args); in xfs_dir2_sf_replace()
1005 ASSERT(args->namelen != 1 || args->name[0] != '.'); in xfs_dir2_sf_replace()
1009 if (args->namelen == 2 && in xfs_dir2_sf_replace()
1010 args->name[0] == '.' && args->name[1] == '.') { in xfs_dir2_sf_replace()
1012 ASSERT(args->inumber != ino); in xfs_dir2_sf_replace()
1013 dp->d_ops->sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
1021 if (xfs_da_compname(args, sfep->name, sfep->namelen) == in xfs_dir2_sf_replace()
1024 ASSERT(args->inumber != ino); 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()
1034 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_sf_replace()
1036 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_replace()
1044 args->inumber <= XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_replace()
1049 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_replace()
1057 args->inumber > XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_replace()
1066 xfs_dir2_sf_check(args); in xfs_dir2_sf_replace()
1067 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); in xfs_dir2_sf_replace()
1077 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_toino4() argument
1089 trace_xfs_dir2_sf_toino4(args); in xfs_dir2_sf_toino4()
1091 dp = args->dp; in xfs_dir2_sf_toino4()
1140 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino4()
1150 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_toino8() argument
1162 trace_xfs_dir2_sf_toino8(args); in xfs_dir2_sf_toino8()
1164 dp = args->dp; in xfs_dir2_sf_toino8()
1213 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino8()