int                     *src_log_flags,
        int                     *target_log_flags)
 {
-       struct xfs_ifork        tempifp, *ifp, *tifp;
        xfs_filblks_t           aforkblks = 0;
        xfs_filblks_t           taforkblks = 0;
        xfs_extnum_t            junk;
        /*
         * Swap the data forks of the inodes
         */
-       ifp = &ip->i_df;
-       tifp = &tip->i_df;
-       tempifp = *ifp;         /* struct copy */
-       *ifp = *tifp;           /* struct copy */
-       *tifp = tempifp;        /* struct copy */
+       swap(ip->i_df, tip->i_df);
 
        /*
         * Fix the on-disk inode values
        ip->i_d.di_nblocks = tip->i_d.di_nblocks - taforkblks + aforkblks;
        tip->i_d.di_nblocks = tmp + taforkblks - aforkblks;
 
-       tmp = (uint64_t) ip->i_d.di_nextents;
-       ip->i_d.di_nextents = tip->i_d.di_nextents;
-       tip->i_d.di_nextents = tmp;
-
-       tmp = (uint64_t) ip->i_d.di_format;
-       ip->i_d.di_format = tip->i_d.di_format;
-       tip->i_d.di_format = tmp;
+       swap(ip->i_d.di_nextents, tip->i_d.di_nextents);
+       swap(ip->i_d.di_format, tip->i_d.di_format);
 
        /*
         * The extents in the source inode could still contain speculative
        int                     src_log_flags, target_log_flags;
        int                     error = 0;
        int                     lock_flags;
-       struct xfs_ifork        *cowfp;
        uint64_t                f;
        int                     resblks = 0;
 
 
        /* Swap the cow forks. */
        if (xfs_sb_version_hasreflink(&mp->m_sb)) {
-               xfs_extnum_t    extnum;
-
                ASSERT(ip->i_cformat == XFS_DINODE_FMT_EXTENTS);
                ASSERT(tip->i_cformat == XFS_DINODE_FMT_EXTENTS);
 
-               extnum = ip->i_cnextents;
-               ip->i_cnextents = tip->i_cnextents;
-               tip->i_cnextents = extnum;
-
-               cowfp = ip->i_cowfp;
-               ip->i_cowfp = tip->i_cowfp;
-               tip->i_cowfp = cowfp;
+               swap(ip->i_cnextents, tip->i_cnextents);
+               swap(ip->i_cowfp, tip->i_cowfp);
 
                if (ip->i_cowfp && ip->i_cowfp->if_bytes)
                        xfs_inode_set_cowblocks_tag(ip);