Merge remote-tracking branch 'jk/vfs' into work.misc
[cascardo/linux.git] / fs / xfs / xfs_symlink.c
index 08a46c6..58142ae 100644 (file)
@@ -26,6 +26,7 @@
 #include "xfs_mount.h"
 #include "xfs_da_format.h"
 #include "xfs_da_btree.h"
+#include "xfs_defer.h"
 #include "xfs_dir2.h"
 #include "xfs_inode.h"
 #include "xfs_ialloc.h"
@@ -172,7 +173,7 @@ xfs_symlink(
        struct xfs_inode        *ip = NULL;
        int                     error = 0;
        int                     pathlen;
-       struct xfs_bmap_free    free_list;
+       struct xfs_defer_ops    dfops;
        xfs_fsblock_t           first_block;
        bool                    unlock_dp_on_error = false;
        xfs_fileoff_t           first_fsb;
@@ -269,7 +270,7 @@ xfs_symlink(
         * Initialize the bmap freelist prior to calling either
         * bmapi or the directory create code.
         */
-       xfs_bmap_init(&free_list, &first_block);
+       xfs_defer_init(&dfops, &first_block);
 
        /*
         * Allocate an inode for the symlink.
@@ -313,7 +314,7 @@ xfs_symlink(
 
                error = xfs_bmapi_write(tp, ip, first_fsb, fs_blocks,
                                  XFS_BMAPI_METADATA, &first_block, resblks,
-                                 mval, &nmaps, &free_list);
+                                 mval, &nmaps, &dfops);
                if (error)
                        goto out_bmap_cancel;
 
@@ -361,7 +362,7 @@ xfs_symlink(
         * Create the directory entry for the symlink.
         */
        error = xfs_dir_createname(tp, dp, link_name, ip->i_ino,
-                                       &first_block, &free_list, resblks);
+                                       &first_block, &dfops, resblks);
        if (error)
                goto out_bmap_cancel;
        xfs_trans_ichgtime(tp, dp, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG);
@@ -376,7 +377,7 @@ xfs_symlink(
                xfs_trans_set_sync(tp);
        }
 
-       error = xfs_bmap_finish(&tp, &free_list, NULL);
+       error = xfs_defer_finish(&tp, &dfops, NULL);
        if (error)
                goto out_bmap_cancel;
 
@@ -392,7 +393,7 @@ xfs_symlink(
        return 0;
 
 out_bmap_cancel:
-       xfs_bmap_cancel(&free_list);
+       xfs_defer_cancel(&dfops);
 out_trans_cancel:
        xfs_trans_cancel(tp);
 out_release_inode:
@@ -426,7 +427,7 @@ xfs_inactive_symlink_rmt(
        int             done;
        int             error;
        xfs_fsblock_t   first_block;
-       xfs_bmap_free_t free_list;
+       struct xfs_defer_ops    dfops;
        int             i;
        xfs_mount_t     *mp;
        xfs_bmbt_irec_t mval[XFS_SYMLINK_MAPS];
@@ -465,7 +466,7 @@ xfs_inactive_symlink_rmt(
         * Find the block(s) so we can inval and unmap them.
         */
        done = 0;
-       xfs_bmap_init(&free_list, &first_block);
+       xfs_defer_init(&dfops, &first_block);
        nmaps = ARRAY_SIZE(mval);
        error = xfs_bmapi_read(ip, 0, xfs_symlink_blocks(mp, size),
                                mval, &nmaps, 0);
@@ -485,17 +486,17 @@ xfs_inactive_symlink_rmt(
                xfs_trans_binval(tp, bp);
        }
        /*
-        * Unmap the dead block(s) to the free_list.
+        * Unmap the dead block(s) to the dfops.
         */
        error = xfs_bunmapi(tp, ip, 0, size, 0, nmaps,
-                           &first_block, &free_list, &done);
+                           &first_block, &dfops, &done);
        if (error)
                goto error_bmap_cancel;
        ASSERT(done);
        /*
         * Commit the first transaction.  This logs the EFI and the inode.
         */
-       error = xfs_bmap_finish(&tp, &free_list, ip);
+       error = xfs_defer_finish(&tp, &dfops, ip);
        if (error)
                goto error_bmap_cancel;
        /*
@@ -525,7 +526,7 @@ xfs_inactive_symlink_rmt(
        return 0;
 
 error_bmap_cancel:
-       xfs_bmap_cancel(&free_list);
+       xfs_defer_cancel(&dfops);
 error_trans_cancel:
        xfs_trans_cancel(tp);
 error_unlock: