* Commit that transaction so that the node_addname() call
                 * can manage its own transactions.
                 */
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                error = xfs_attr3_leaf_to_node(args);
                if (error)
                        goto out_defer_cancel;
                 * If the result is small enough, shrink it all into the inode.
                 */
                if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
-                       xfs_defer_init(args->trans, args->trans->t_dfops);
                        error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
                        /* bp is gone due to xfs_da_shrink_inode */
                        if (error)
         * If the result is small enough, shrink it all into the inode.
         */
        if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
                /* bp is gone due to xfs_da_shrink_inode */
                if (error)
                         */
                        xfs_da_state_free(state);
                        state = NULL;
-                       xfs_defer_init(args->trans, args->trans->t_dfops);
                        error = xfs_attr3_leaf_to_node(args);
                        if (error)
                                goto out_defer_cancel;
                 * in the index/blkno/rmtblkno/rmtblkcnt fields and
                 * in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields.
                 */
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                error = xfs_da3_split(state);
                if (error)
                        goto out_defer_cancel;
                 * Check to see if the tree needs to be collapsed.
                 */
                if (retval && (state->path.active > 1)) {
-                       xfs_defer_init(args->trans, args->trans->t_dfops);
                        error = xfs_da3_join(state);
                        if (error)
                                goto out_defer_cancel;
         * Check to see if the tree needs to be collapsed.
         */
        if (retval && (state->path.active > 1)) {
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                error = xfs_da3_join(state);
                if (error)
                        goto out_defer_cancel;
                        goto out;
 
                if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
-                       xfs_defer_init(args->trans, args->trans->t_dfops);
                        error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
                        /* bp is gone due to xfs_da_shrink_inode */
                        if (error)
 
                 * extent and then crash then the block may not contain the
                 * correct metadata after log recovery occurs.
                 */
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                nmap = 1;
                error = xfs_bmapi_write(args->trans, dp, (xfs_fileoff_t)lblkno,
                                  blkcnt, XFS_BMAPI_ATTRFORK, args->total, &map,
 
                ASSERT(blkcnt > 0);
 
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                nmap = 1;
                error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno,
                                       blkcnt, &map, &nmap,
        blkcnt = args->rmtblkcnt;
        done = 0;
        while (!done) {
-               xfs_defer_init(args->trans, args->trans->t_dfops);
                error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt,
                                    XFS_BMAPI_ATTRFORK, 1, &done);
                if (error)