]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
xfs: remove redundant remap partial EOF block checks
authorDarrick J. Wong <darrick.wong@oracle.com>
Mon, 29 Oct 2018 23:47:16 +0000 (10:47 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 29 Oct 2018 23:47:16 +0000 (10:47 +1100)
Now that we've moved the partial EOF block checks to the VFS helpers, we
can remove the redundant functionality from XFS.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_reflink.c

index 4abb2aea8f314bcf20db07c2f0df09fd7d93fb3d..bccc66316cc4893aff422120baed54e4c0c131f6 100644 (file)
@@ -1314,7 +1314,6 @@ xfs_reflink_remap_prep(
        struct inode            *inode_out = file_inode(file_out);
        struct xfs_inode        *dest = XFS_I(inode_out);
        bool                    same_inode = (inode_in == inode_out);
-       u64                     blkmask = i_blocksize(inode_in) - 1;
        ssize_t                 ret;
 
        /* Lock both files against IO */
@@ -1342,24 +1341,6 @@ xfs_reflink_remap_prep(
        if (ret < 0 || *len == 0)
                goto out_unlock;
 
-       /*
-        * If the dedupe data matches, chop off the partial EOF block
-        * from the source file so we don't try to dedupe the partial
-        * EOF block.
-        */
-       if (remap_flags & REMAP_FILE_DEDUP) {
-               *len &= ~blkmask;
-       } else if (*len & blkmask) {
-               /*
-                * The user is attempting to share a partial EOF block,
-                * if it's inside the destination EOF then reject it.
-                */
-               if (pos_out + *len < i_size_read(inode_out)) {
-                       ret = -EINVAL;
-                       goto out_unlock;
-               }
-       }
-
        /* Attach dquots to dest inode before changing block map */
        ret = xfs_qm_dqattach(dest);
        if (ret)