• Home
  • Raw
  • Download

Lines Matching refs:args

30 static int xfs_dir2_block_lookup_int(xfs_da_args_t *args, struct xfs_buf **bpp,
300 struct xfs_da_args *args, in xfs_dir2_block_compact() argument
333 xfs_dir2_data_make_free(args, bp, in xfs_dir2_block_compact()
343 xfs_dir2_data_freescan(args->dp->i_mount, hdr, needlog); in xfs_dir2_block_compact()
351 xfs_da_args_t *args) /* directory op arguments */ in xfs_dir2_block_addname() argument
377 trace_xfs_dir2_block_addname(args); in xfs_dir2_block_addname()
379 dp = args->dp; in xfs_dir2_block_addname()
380 tp = args->trans; in xfs_dir2_block_addname()
387 len = xfs_dir2_data_entsize(dp->i_mount, args->namelen); in xfs_dir2_block_addname()
393 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_block_addname()
406 if (args->op_flags & XFS_DA_OP_JUSTCHECK) { in xfs_dir2_block_addname()
418 if (args->total == 0) in xfs_dir2_block_addname()
424 error = xfs_dir2_block_to_leaf(args, bp); in xfs_dir2_block_addname()
427 return xfs_dir2_leaf_addname(args); in xfs_dir2_block_addname()
436 xfs_dir2_block_compact(args, bp, hdr, btp, blp, &needlog, in xfs_dir2_block_addname()
454 if ((hash = be32_to_cpu(blp[mid].hashval)) == args->hashval) in xfs_dir2_block_addname()
456 if (hash < args->hashval) in xfs_dir2_block_addname()
461 while (mid >= 0 && be32_to_cpu(blp[mid].hashval) >= args->hashval) { in xfs_dir2_block_addname()
475 error = xfs_dir2_data_use_free(args, bp, enddup, aoff, in xfs_dir2_block_addname()
555 blp[mid].hashval = cpu_to_be32(args->hashval); in xfs_dir2_block_addname()
562 error = xfs_dir2_data_use_free(args, bp, dup, in xfs_dir2_block_addname()
570 dep->inumber = cpu_to_be64(args->inumber); in xfs_dir2_block_addname()
571 dep->namelen = args->namelen; in xfs_dir2_block_addname()
572 memcpy(dep->name, args->name, args->namelen); in xfs_dir2_block_addname()
573 xfs_dir2_data_put_ftype(dp->i_mount, dep, args->filetype); in xfs_dir2_block_addname()
582 xfs_dir2_data_log_header(args, bp); in xfs_dir2_block_addname()
584 xfs_dir2_data_log_entry(args, bp, dep); in xfs_dir2_block_addname()
631 xfs_da_args_t *args) /* dir lookup arguments */ in xfs_dir2_block_lookup() argument
642 trace_xfs_dir2_block_lookup(args); in xfs_dir2_block_lookup()
648 if ((error = xfs_dir2_block_lookup_int(args, &bp, &ent))) in xfs_dir2_block_lookup()
650 dp = args->dp; in xfs_dir2_block_lookup()
653 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_block_lookup()
659 xfs_dir2_dataptr_to_off(args->geo, in xfs_dir2_block_lookup()
664 args->inumber = be64_to_cpu(dep->inumber); in xfs_dir2_block_lookup()
665 args->filetype = xfs_dir2_data_get_ftype(dp->i_mount, dep); in xfs_dir2_block_lookup()
666 error = xfs_dir_cilookup_result(args, dep->name, dep->namelen); in xfs_dir2_block_lookup()
667 xfs_trans_brelse(args->trans, bp); in xfs_dir2_block_lookup()
676 xfs_da_args_t *args, /* dir lookup arguments */ in xfs_dir2_block_lookup_int() argument
695 dp = args->dp; in xfs_dir2_block_lookup_int()
696 tp = args->trans; in xfs_dir2_block_lookup_int()
704 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_block_lookup_int()
713 if ((hash = be32_to_cpu(blp[mid].hashval)) == args->hashval) in xfs_dir2_block_lookup_int()
715 if (hash < args->hashval) in xfs_dir2_block_lookup_int()
720 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_block_lookup_int()
728 while (mid > 0 && be32_to_cpu(blp[mid - 1].hashval) == args->hashval) { in xfs_dir2_block_lookup_int()
742 ((char *)hdr + xfs_dir2_dataptr_to_off(args->geo, addr)); in xfs_dir2_block_lookup_int()
748 cmp = xfs_dir2_compname(args, dep->name, dep->namelen); in xfs_dir2_block_lookup_int()
749 if (cmp != XFS_CMP_DIFFERENT && cmp != args->cmpresult) { in xfs_dir2_block_lookup_int()
750 args->cmpresult = cmp; in xfs_dir2_block_lookup_int()
759 ASSERT(args->op_flags & XFS_DA_OP_OKNOENT); in xfs_dir2_block_lookup_int()
764 if (args->cmpresult == XFS_CMP_CASE) in xfs_dir2_block_lookup_int()
779 xfs_da_args_t *args) /* directory operation args */ in xfs_dir2_block_removename() argument
795 trace_xfs_dir2_block_removename(args); in xfs_dir2_block_removename()
801 if ((error = xfs_dir2_block_lookup_int(args, &bp, &ent))) { in xfs_dir2_block_removename()
804 dp = args->dp; in xfs_dir2_block_removename()
805 tp = args->trans; in xfs_dir2_block_removename()
807 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_block_removename()
813 xfs_dir2_dataptr_to_off(args->geo, in xfs_dir2_block_removename()
819 xfs_dir2_data_make_free(args, bp, in xfs_dir2_block_removename()
839 xfs_dir2_data_log_header(args, bp); in xfs_dir2_block_removename()
851 return xfs_dir2_block_to_sf(args, bp, size, &sfh); in xfs_dir2_block_removename()
860 xfs_da_args_t *args) /* directory operation args */ in xfs_dir2_block_replace() argument
871 trace_xfs_dir2_block_replace(args); in xfs_dir2_block_replace()
877 if ((error = xfs_dir2_block_lookup_int(args, &bp, &ent))) { in xfs_dir2_block_replace()
880 dp = args->dp; in xfs_dir2_block_replace()
882 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_block_replace()
888 xfs_dir2_dataptr_to_off(args->geo, in xfs_dir2_block_replace()
890 ASSERT(be64_to_cpu(dep->inumber) != args->inumber); in xfs_dir2_block_replace()
894 dep->inumber = cpu_to_be64(args->inumber); in xfs_dir2_block_replace()
895 xfs_dir2_data_put_ftype(dp->i_mount, dep, args->filetype); in xfs_dir2_block_replace()
896 xfs_dir2_data_log_entry(args, bp, dep); in xfs_dir2_block_replace()
923 xfs_da_args_t *args, /* operation arguments */ in xfs_dir2_leaf_to_block() argument
947 trace_xfs_dir2_leaf_to_block(args); in xfs_dir2_leaf_to_block()
949 dp = args->dp; in xfs_dir2_leaf_to_block()
950 tp = args->trans; in xfs_dir2_leaf_to_block()
954 ltp = xfs_dir2_leaf_tail_p(args->geo, leaf); in xfs_dir2_leaf_to_block()
964 while (dp->i_d.di_size > args->geo->blksize) { in xfs_dir2_leaf_to_block()
967 hdrsz = args->geo->data_entry_offset; in xfs_dir2_leaf_to_block()
970 args->geo->blksize - hdrsz) { in xfs_dir2_leaf_to_block()
972 xfs_dir2_leaf_trim_data(args, lbp, in xfs_dir2_leaf_to_block()
982 error = xfs_dir3_data_read(tp, dp, args->geo->datablk, 0, &dbp); in xfs_dir2_leaf_to_block()
998 tagp = (__be16 *)((char *)hdr + args->geo->blksize) - 1; in xfs_dir2_leaf_to_block()
1017 error = xfs_dir2_data_use_free(args, dbp, dup, in xfs_dir2_leaf_to_block()
1018 args->geo->blksize - size, size, &needlog, &needscan); in xfs_dir2_leaf_to_block()
1024 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_leaf_to_block()
1046 xfs_dir2_data_log_header(args, dbp); in xfs_dir2_leaf_to_block()
1050 error = xfs_da_shrink_inode(args, args->geo->leafblk, lbp); in xfs_dir2_leaf_to_block()
1061 return xfs_dir2_block_to_sf(args, dbp, size, &sfh); in xfs_dir2_leaf_to_block()
1069 struct xfs_da_args *args) in xfs_dir2_sf_to_block() argument
1071 struct xfs_trans *tp = args->trans; in xfs_dir2_sf_to_block()
1072 struct xfs_inode *dp = args->dp; in xfs_dir2_sf_to_block()
1075 struct xfs_da_geometry *geo = args->geo; in xfs_dir2_sf_to_block()
1097 trace_xfs_dir2_sf_to_block(args); in xfs_dir2_sf_to_block()
1123 error = xfs_dir2_grow_inode(args, XFS_DIR2_DATA_SPACE, &blkno); in xfs_dir2_sf_to_block()
1129 error = xfs_dir3_data_init(args, blkno, &bp); in xfs_dir2_sf_to_block()
1146 error = xfs_dir2_data_use_free(args, bp, dup, args->geo->blksize - i, in xfs_dir2_sf_to_block()
1154 btp = xfs_dir2_block_tail_p(args->geo, hdr); in xfs_dir2_sf_to_block()
1162 error = xfs_dir2_data_use_free(args, bp, dup, in xfs_dir2_sf_to_block()
1178 xfs_dir2_data_log_entry(args, bp, dep); in xfs_dir2_sf_to_block()
1193 xfs_dir2_data_log_entry(args, bp, dep); in xfs_dir2_sf_to_block()
1227 xfs_dir2_data_log_unused(args, bp, dup); in xfs_dir2_sf_to_block()
1245 xfs_dir2_data_log_entry(args, bp, dep); in xfs_dir2_sf_to_block()