Lines Matching defs:dest

788  * corresponding ranges in dest.  Let drange and srange denote the ranges of
789 * logical blocks in dest and src touched by the reflink operation.
797 * - Punch (imap start - srange start + imap len) blocks from dest at
801 * > Map imap's pblks into dest at the offset
805 * Finally, if the reflink made dest longer, update both the in-core and
817 * --DDDDDDDDDDDDDDDDDDD--DDD (dest file)
819 * '-' means a hole, and 'S' and 'D' are written blocks in the src and dest.
863 struct xfs_inode *dest)
869 if (xfs_is_reflink_inode(src) && xfs_is_reflink_inode(dest))
877 if (src->i_ino == dest->i_ino)
880 xfs_lock_two_inodes(src, XFS_ILOCK_EXCL, dest, XFS_ILOCK_EXCL);
891 if (src->i_ino == dest->i_ino)
894 if (!xfs_is_reflink_inode(dest)) {
895 trace_xfs_reflink_set_inode_flag(dest);
896 xfs_trans_ijoin(tp, dest, XFS_ILOCK_EXCL);
897 dest->i_d.di_flags2 |= XFS_DIFLAG2_REFLINK;
898 xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE);
899 xfs_ifork_init_cow(dest);
901 xfs_iunlock(dest, XFS_ILOCK_EXCL);
910 trace_xfs_reflink_set_inode_flag_error(dest, error, _RET_IP_);
919 struct xfs_inode *dest,
924 struct xfs_mount *mp = dest->i_mount;
928 if (newlen <= i_size_read(VFS_I(dest)) && cowextsize == 0)
935 xfs_ilock(dest, XFS_ILOCK_EXCL);
936 xfs_trans_ijoin(tp, dest, XFS_ILOCK_EXCL);
938 if (newlen > i_size_read(VFS_I(dest))) {
939 trace_xfs_reflink_update_inode_size(dest, newlen);
940 i_size_write(VFS_I(dest), newlen);
941 dest->i_d.di_size = newlen;
945 dest->i_d.di_cowextsize = cowextsize;
946 dest->i_d.di_flags2 |= XFS_DIFLAG2_COWEXTSIZE;
949 xfs_trans_log_inode(tp, dest, XFS_ILOG_CORE);
957 trace_xfs_reflink_update_inode_size_error(dest, error, _RET_IP_);
1054 /* No reflinking if the AG of the dest mapping is low on space. */
1081 * count. This is suboptimal, but the VFS flushed the dest range
1132 /* Update dest isize if needed. */
1161 struct xfs_inode *dest,
1179 trace_xfs_reflink_remap_blocks(src, srcoff, len, dest, destoff);
1209 error = xfs_reflink_remap_extent(dest, &imap, new_isize);
1226 trace_xfs_reflink_remap_blocks_error(dest, error, _RET_IP_);
1293 struct xfs_inode *dest = XFS_I(inode_out);
1297 ret = xfs_ilock2_io_mmap(src, dest);
1304 if (XFS_IS_REALTIME_INODE(src) || XFS_IS_REALTIME_INODE(dest))
1316 /* Attach dquots to dest inode before changing block map */
1317 ret = xfs_qm_dqattach(dest);
1325 ret = xfs_reflink_zero_posteof(dest, pos_out);
1330 ret = xfs_reflink_set_inode_flag(src, dest);
1339 if (pos_out > XFS_ISIZE(dest)) {
1340 loff_t flen = *len + (pos_out - XFS_ISIZE(dest));
1341 ret = xfs_flush_unmap_range(dest, XFS_ISIZE(dest), flen);
1343 ret = xfs_flush_unmap_range(dest, pos_out, *len);
1350 xfs_iunlock2_io_mmap(src, dest);