Lines Matching refs:attr
60 static int xfs_attr_node_try_addname(struct xfs_attr_intent *attr);
61 STATIC int xfs_attr_node_addname_find_attr(struct xfs_attr_intent *attr);
62 STATIC int xfs_attr_node_remove_attr(struct xfs_attr_intent *attr);
377 struct xfs_attr_intent *attr) in xfs_attr_sf_addname() argument
379 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_sf_addname()
386 attr->xattri_dela_state = XFS_DAS_DONE; in xfs_attr_sf_addname()
398 attr->xattri_dela_state = XFS_DAS_LEAF_ADD; in xfs_attr_sf_addname()
400 trace_xfs_attr_sf_addname_return(attr->xattri_dela_state, args->dp); in xfs_attr_sf_addname()
417 struct xfs_attr_intent *attr, in xfs_attr_complete_op() argument
420 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_complete_op()
433 struct xfs_attr_intent *attr) in xfs_attr_leaf_addname() argument
435 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_leaf_addname()
455 attr->xattri_dela_state = XFS_DAS_NODE_ADD; in xfs_attr_leaf_addname()
467 attr->xattri_dela_state = XFS_DAS_LEAF_SET_RMT; in xfs_attr_leaf_addname()
469 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_leaf_addname()
472 trace_xfs_attr_leaf_addname_return(attr->xattri_dela_state, args->dp); in xfs_attr_leaf_addname()
485 struct xfs_attr_intent *attr) in xfs_attr_node_addname() argument
487 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_node_addname()
490 error = xfs_attr_node_addname_find_attr(attr); in xfs_attr_node_addname()
494 error = xfs_attr_node_try_addname(attr); in xfs_attr_node_addname()
509 attr->xattri_dela_state = XFS_DAS_NODE_SET_RMT; in xfs_attr_node_addname()
511 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_node_addname()
514 trace_xfs_attr_node_addname_return(attr->xattri_dela_state, args->dp); in xfs_attr_node_addname()
520 struct xfs_attr_intent *attr) in xfs_attr_rmtval_alloc() argument
522 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_rmtval_alloc()
531 if (attr->xattri_blkcnt > 0) { in xfs_attr_rmtval_alloc()
532 error = xfs_attr_rmtval_set_blk(attr); in xfs_attr_rmtval_alloc()
536 if (attr->xattri_blkcnt > 0) in xfs_attr_rmtval_alloc()
544 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_rmtval_alloc()
545 ++attr->xattri_dela_state); in xfs_attr_rmtval_alloc()
551 if (attr->xattri_dela_state == XFS_DAS_DONE) in xfs_attr_rmtval_alloc()
554 trace_xfs_attr_rmtval_alloc(attr->xattri_dela_state, args->dp); in xfs_attr_rmtval_alloc()
587 struct xfs_attr_intent *attr) in xfs_attr_item_init_da_state() argument
589 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_item_init_da_state()
591 if (!attr->xattri_da_state) in xfs_attr_item_init_da_state()
592 attr->xattri_da_state = xfs_da_state_alloc(args); in xfs_attr_item_init_da_state()
594 xfs_da_state_reset(attr->xattri_da_state, args); in xfs_attr_item_init_da_state()
604 struct xfs_attr_intent *attr) in xfs_attr_node_removename_setup() argument
606 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_node_removename_setup()
610 xfs_attr_item_init_da_state(attr); in xfs_attr_node_removename_setup()
611 error = xfs_attr_node_lookup(args, attr->xattri_da_state); in xfs_attr_node_removename_setup()
616 state = attr->xattri_da_state; in xfs_attr_node_removename_setup()
628 xfs_da_state_free(attr->xattri_da_state); in xfs_attr_node_removename_setup()
629 attr->xattri_da_state = NULL; in xfs_attr_node_removename_setup()
642 struct xfs_attr_intent *attr) in xfs_attr_leaf_remove_attr() argument
644 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_leaf_remove_attr()
707 struct xfs_attr_intent *attr) in xfs_attr_set_iter() argument
709 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_set_iter()
714 switch (attr->xattri_dela_state) { in xfs_attr_set_iter()
719 return xfs_attr_sf_addname(attr); in xfs_attr_set_iter()
721 return xfs_attr_leaf_addname(attr); in xfs_attr_set_iter()
723 return xfs_attr_node_addname(attr); in xfs_attr_set_iter()
727 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_set_iter()
732 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_set_iter()
736 error = xfs_attr_node_removename_setup(attr); in xfs_attr_set_iter()
739 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_set_iter()
746 attr->xattri_dela_state = XFS_DAS_NODE_REMOVE_RMT; in xfs_attr_set_iter()
748 attr->xattri_dela_state++; in xfs_attr_set_iter()
753 error = xfs_attr_rmtval_find_space(attr); in xfs_attr_set_iter()
756 attr->xattri_dela_state++; in xfs_attr_set_iter()
761 error = xfs_attr_rmtval_alloc(attr); in xfs_attr_set_iter()
764 if (attr->xattri_dela_state == XFS_DAS_DONE) in xfs_attr_set_iter()
782 attr->xattri_dela_state++; in xfs_attr_set_iter()
800 attr->xattri_dela_state++; in xfs_attr_set_iter()
803 attr->xattri_dela_state++; in xfs_attr_set_iter()
808 error = xfs_attr_rmtval_remove(attr); in xfs_attr_set_iter()
824 attr->xattri_dela_state++; in xfs_attr_set_iter()
828 error = xfs_attr_leaf_remove_attr(attr); in xfs_attr_set_iter()
829 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_set_iter()
834 error = xfs_attr_node_remove_attr(attr); in xfs_attr_set_iter()
837 attr->xattri_dela_state = xfs_attr_complete_op(attr, in xfs_attr_set_iter()
845 trace_xfs_attr_set_iter_return(attr->xattri_dela_state, args->dp); in xfs_attr_set_iter()
887 struct xfs_attr_intent **attr) /* new xfs_attr_intent */ in xfs_attr_intent_init() argument
896 *attr = new; in xfs_attr_intent_init()
1367 struct xfs_attr_intent *attr) in xfs_attr_node_addname_find_attr() argument
1369 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_node_addname_find_attr()
1376 xfs_attr_item_init_da_state(attr); in xfs_attr_node_addname_find_attr()
1377 error = xfs_attr_node_lookup(args, attr->xattri_da_state); in xfs_attr_node_addname_find_attr()
1404 if (attr->xattri_da_state) { in xfs_attr_node_addname_find_attr()
1405 xfs_da_state_free(attr->xattri_da_state); in xfs_attr_node_addname_find_attr()
1406 attr->xattri_da_state = NULL; in xfs_attr_node_addname_find_attr()
1420 struct xfs_attr_intent *attr) in xfs_attr_node_try_addname() argument
1422 struct xfs_da_state *state = attr->xattri_da_state; in xfs_attr_node_try_addname()
1460 attr->xattri_da_state = NULL; in xfs_attr_node_try_addname()
1485 struct xfs_attr_intent *attr) in xfs_attr_node_remove_attr() argument
1487 struct xfs_da_args *args = attr->xattri_da_args; in xfs_attr_node_remove_attr()