• 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);
258 struct xfs_da_args *args, /* operation arguments */ in xfs_dir2_block_to_sf() argument
263 struct xfs_inode *dp = args->dp; in xfs_dir2_block_to_sf()
269 unsigned int offset = args->geo->data_entry_offset; in xfs_dir2_block_to_sf()
272 trace_xfs_dir2_block_to_sf(args); in xfs_dir2_block_to_sf()
286 end = xfs_dir3_data_end_offset(args->geo, bp->b_addr); in xfs_dir2_block_to_sf()
332 error = xfs_dir2_shrink_inode(args, args->geo->datablk, bp); in xfs_dir2_block_to_sf()
350 xfs_dir2_sf_check(args); in xfs_dir2_block_to_sf()
352 xfs_trans_log_inode(args->trans, dp, logflags); in xfs_dir2_block_to_sf()
365 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_addname() argument
377 trace_xfs_dir2_sf_addname(args); in xfs_dir2_sf_addname()
379 ASSERT(xfs_dir2_sf_lookup(args) == -ENOENT); in xfs_dir2_sf_addname()
380 dp = args->dp; in xfs_dir2_sf_addname()
390 incr_isize = xfs_dir2_sf_entsize(dp->i_mount, sfp, args->namelen); in xfs_dir2_sf_addname()
396 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_addname()
411 xfs_dir2_sf_addname_pick(args, objchange, &sfep, &offset)) == 0) { in xfs_dir2_sf_addname()
415 if ((args->op_flags & XFS_DA_OP_JUSTCHECK) || args->total == 0) in xfs_dir2_sf_addname()
420 error = xfs_dir2_sf_to_block(args); in xfs_dir2_sf_addname()
423 return xfs_dir2_block_addname(args); in xfs_dir2_sf_addname()
428 if (args->op_flags & XFS_DA_OP_JUSTCHECK) in xfs_dir2_sf_addname()
434 xfs_dir2_sf_addname_easy(args, sfep, offset, new_isize); in xfs_dir2_sf_addname()
442 xfs_dir2_sf_toino8(args); in xfs_dir2_sf_addname()
443 xfs_dir2_sf_addname_hard(args, objchange, new_isize); in xfs_dir2_sf_addname()
445 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_addname()
458 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_easy() argument
463 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_addname_easy()
473 xfs_idata_realloc(dp, xfs_dir2_sf_entsize(mp, sfp, args->namelen), in xfs_dir2_sf_addname_easy()
483 sfep->namelen = args->namelen; in xfs_dir2_sf_addname_easy()
485 memcpy(sfep->name, args->name, sfep->namelen); in xfs_dir2_sf_addname_easy()
486 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_easy()
487 xfs_dir2_sf_put_ftype(mp, sfep, args->filetype); in xfs_dir2_sf_addname_easy()
493 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) in xfs_dir2_sf_addname_easy()
496 xfs_dir2_sf_check(args); in xfs_dir2_sf_addname_easy()
510 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_hard() argument
514 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_addname_hard()
541 for (offset = args->geo->data_first_offset, in xfs_dir2_sf_addname_hard()
543 add_datasize = xfs_dir2_data_entsize(mp, args->namelen), in xfs_dir2_sf_addname_hard()
573 sfep->namelen = args->namelen; in xfs_dir2_sf_addname_hard()
575 memcpy(sfep->name, args->name, sfep->namelen); in xfs_dir2_sf_addname_hard()
576 xfs_dir2_sf_put_ino(mp, sfp, sfep, args->inumber); in xfs_dir2_sf_addname_hard()
577 xfs_dir2_sf_put_ftype(mp, sfep, args->filetype); in xfs_dir2_sf_addname_hard()
579 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && !objchange) in xfs_dir2_sf_addname_hard()
590 xfs_dir2_sf_check(args); in xfs_dir2_sf_addname_hard()
602 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_addname_pick() argument
607 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_addname_pick()
618 size = xfs_dir2_data_entsize(mp, args->namelen); in xfs_dir2_sf_addname_pick()
619 offset = args->geo->data_first_offset; in xfs_dir2_sf_addname_pick()
646 if (used + (holefit ? 0 : size) > args->geo->blksize) in xfs_dir2_sf_addname_pick()
656 if (used + size > args->geo->blksize) in xfs_dir2_sf_addname_pick()
672 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_check() argument
674 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_check()
684 offset = args->geo->data_first_offset; in xfs_dir2_sf_check()
703 (uint)sizeof(xfs_dir2_block_tail_t) <= args->geo->blksize); in xfs_dir2_sf_check()
811 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_sf_create() argument
819 trace_xfs_dir2_sf_create(args); in xfs_dir2_sf_create()
821 dp = args->dp; in xfs_dir2_sf_create()
832 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE); in xfs_dir2_sf_create()
854 xfs_dir2_sf_check(args); in xfs_dir2_sf_create()
855 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_create()
865 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_lookup() argument
867 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_lookup()
876 trace_xfs_dir2_sf_lookup(args); in xfs_dir2_sf_lookup()
878 xfs_dir2_sf_check(args); in xfs_dir2_sf_lookup()
889 if (args->namelen == 1 && args->name[0] == '.') { in xfs_dir2_sf_lookup()
890 args->inumber = dp->i_ino; in xfs_dir2_sf_lookup()
891 args->cmpresult = XFS_CMP_EXACT; in xfs_dir2_sf_lookup()
892 args->filetype = XFS_DIR3_FT_DIR; in xfs_dir2_sf_lookup()
898 if (args->namelen == 2 && in xfs_dir2_sf_lookup()
899 args->name[0] == '.' && args->name[1] == '.') { in xfs_dir2_sf_lookup()
900 args->inumber = xfs_dir2_sf_get_parent_ino(sfp); in xfs_dir2_sf_lookup()
901 args->cmpresult = XFS_CMP_EXACT; in xfs_dir2_sf_lookup()
902 args->filetype = XFS_DIR3_FT_DIR; in xfs_dir2_sf_lookup()
916 cmp = xfs_dir2_compname(args, sfep->name, sfep->namelen); in xfs_dir2_sf_lookup()
917 if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { in xfs_dir2_sf_lookup()
918 args->cmpresult = cmp; in xfs_dir2_sf_lookup()
919 args->inumber = xfs_dir2_sf_get_ino(mp, sfp, sfep); in xfs_dir2_sf_lookup()
920 args->filetype = xfs_dir2_sf_get_ftype(mp, sfep); in xfs_dir2_sf_lookup()
926 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_sf_lookup()
934 error = xfs_dir_cilookup_result(args, ci_sfep->name, ci_sfep->namelen); in xfs_dir2_sf_lookup()
943 xfs_da_args_t *args) in xfs_dir2_sf_removename() argument
945 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_removename()
955 trace_xfs_dir2_sf_removename(args); in xfs_dir2_sf_removename()
970 if (xfs_da_compname(args, sfep->name, sfep->namelen) == in xfs_dir2_sf_removename()
973 args->inumber); in xfs_dir2_sf_removename()
986 entsize = xfs_dir2_sf_entsize(mp, sfp, args->namelen); in xfs_dir2_sf_removename()
1007 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_removename()
1009 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_removename()
1013 xfs_dir2_sf_check(args); in xfs_dir2_sf_removename()
1014 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_removename()
1044 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_replace() argument
1046 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_replace()
1054 trace_xfs_dir2_sf_replace(args); in xfs_dir2_sf_replace()
1066 if (args->inumber > XFS_DIR2_MAX_SHORT_INUM && sfp->i8count == 0) { in xfs_dir2_sf_replace()
1072 if (xfs_dir2_sf_replace_needblock(dp, args->inumber)) { in xfs_dir2_sf_replace()
1073 error = xfs_dir2_sf_to_block(args); in xfs_dir2_sf_replace()
1076 return xfs_dir2_block_replace(args); in xfs_dir2_sf_replace()
1081 xfs_dir2_sf_toino8(args); in xfs_dir2_sf_replace()
1087 ASSERT(args->namelen != 1 || args->name[0] != '.'); in xfs_dir2_sf_replace()
1091 if (args->namelen == 2 && in xfs_dir2_sf_replace()
1092 args->name[0] == '.' && args->name[1] == '.') { in xfs_dir2_sf_replace()
1094 ASSERT(args->inumber != ino); in xfs_dir2_sf_replace()
1095 xfs_dir2_sf_put_parent_ino(sfp, args->inumber); in xfs_dir2_sf_replace()
1103 if (xfs_da_compname(args, sfep->name, sfep->namelen) == in xfs_dir2_sf_replace()
1106 ASSERT(args->inumber != ino); in xfs_dir2_sf_replace()
1108 args->inumber); in xfs_dir2_sf_replace()
1109 xfs_dir2_sf_put_ftype(mp, sfep, args->filetype); in xfs_dir2_sf_replace()
1117 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_sf_replace()
1119 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_replace()
1127 args->inumber <= XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_replace()
1132 xfs_dir2_sf_toino4(args); in xfs_dir2_sf_replace()
1140 args->inumber > XFS_DIR2_MAX_SHORT_INUM) { in xfs_dir2_sf_replace()
1149 xfs_dir2_sf_check(args); in xfs_dir2_sf_replace()
1150 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_DDATA); in xfs_dir2_sf_replace()
1160 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_toino4() argument
1162 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_toino4()
1173 trace_xfs_dir2_sf_toino4(args); in xfs_dir2_sf_toino4()
1223 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino4()
1233 xfs_da_args_t *args) /* operation arguments */ in xfs_dir2_sf_toino8() argument
1235 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_toino8()
1246 trace_xfs_dir2_sf_toino8(args); in xfs_dir2_sf_toino8()
1296 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE | XFS_ILOG_DDATA); in xfs_dir2_sf_toino8()