/linux/fs/ |
H A D | remap_range.c | 31 static int generic_remap_checks(struct file *file_in, loff_t pos_in, in generic_remap_checks() argument 44 if (!IS_ALIGNED(pos_in, bs) || !IS_ALIGNED(pos_out, bs)) in generic_remap_checks() 48 if (pos_in + count < pos_in || pos_out + count < pos_out) in generic_remap_checks() 56 (pos_in >= size_in || pos_in + count > size_in || in generic_remap_checks() 61 if (pos_in >= size_in) in generic_remap_checks() 63 count = min(count, size_in - (uint64_t)pos_in); in generic_remap_checks() 76 if (pos_in + count == size_in && in generic_remap_checks() 78 bcount = ALIGN(size_in, bs) - pos_in; in generic_remap_checks() 87 pos_out + bcount > pos_in && in generic_remap_checks() 88 pos_out < pos_in + bcount) in generic_remap_checks() [all …]
|
H A D | read_write.c | 1474 static int generic_copy_file_checks(struct file *file_in, loff_t pos_in, in generic_copy_file_checks() argument 1516 if (pos_in + count < pos_in || pos_out + count < pos_out) in generic_copy_file_checks() 1521 if (pos_in >= size_in) in generic_copy_file_checks() 1524 count = min(count, size_in - (uint64_t)pos_in); in generic_copy_file_checks() 1532 pos_out + count > pos_in && in generic_copy_file_checks() 1533 pos_out < pos_in + count) in generic_copy_file_checks() 1545 ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, in vfs_copy_file_range() argument 1556 ret = generic_copy_file_checks(file_in, pos_in, file_out, pos_out, &len, in vfs_copy_file_range() 1561 ret = rw_verify_area(READ, file_in, &pos_in, len); in vfs_copy_file_range() 1580 ret = file_out->f_op->copy_file_range(file_in, pos_in, in vfs_copy_file_range() [all …]
|
H A D | dax.c | 2074 int dax_remap_file_range_prep(struct file *file_in, loff_t pos_in, in dax_remap_file_range_prep() argument 2079 return __generic_remap_file_range_prep(file_in, pos_in, file_out, in dax_remap_file_range_prep()
|
/linux/fs/xfs/ |
H A D | xfs_reflink.h | 47 extern loff_t xfs_reflink_remap_range(struct file *file_in, loff_t pos_in, 56 extern int xfs_reflink_remap_prep(struct file *file_in, loff_t pos_in, 59 extern int xfs_reflink_remap_blocks(struct xfs_inode *src, loff_t pos_in,
|
H A D | xfs_reflink.c | 1325 loff_t pos_in, in xfs_reflink_remap_blocks() argument 1333 xfs_fileoff_t srcoff = XFS_B_TO_FSBT(mp, pos_in); in xfs_reflink_remap_blocks() 1450 loff_t pos_in, in xfs_reflink_remap_prep() argument 1478 ret = generic_remap_file_range_prep(file_in, pos_in, file_out, in xfs_reflink_remap_prep() 1481 ret = dax_remap_file_range_prep(file_in, pos_in, file_out, in xfs_reflink_remap_prep()
|
H A D | xfs_file.c | 1185 loff_t pos_in, in xfs_file_remap_range() argument 1210 ret = xfs_reflink_remap_prep(file_in, pos_in, file_out, pos_out, in xfs_file_remap_range() 1215 trace_xfs_reflink_remap_range(src, pos_in, len, dest, pos_out); in xfs_file_remap_range() 1217 ret = xfs_reflink_remap_blocks(src, pos_in, dest, pos_out, len, in xfs_file_remap_range() 1228 if (pos_in == 0 && len == i_size_read(inode_in) && in xfs_file_remap_range()
|
/linux/fs/nfs/ |
H A D | nfs4file.c | 136 static ssize_t __nfs4_copy_file_range(struct file *file_in, loff_t pos_in, in __nfs4_copy_file_range() argument 180 ret = nfs42_proc_copy(file_in, pos_in, file_out, pos_out, count, in __nfs4_copy_file_range() 190 static ssize_t nfs4_copy_file_range(struct file *file_in, loff_t pos_in, in nfs4_copy_file_range() argument 196 ret = __nfs4_copy_file_range(file_in, pos_in, file_out, pos_out, count, in nfs4_copy_file_range() 199 ret = splice_copy_file_range(file_in, pos_in, file_out, in nfs4_copy_file_range()
|
/linux/include/linux/ |
H A D | splice.h | 91 static inline long splice_copy_file_range(struct file *in, loff_t pos_in, in splice_copy_file_range() argument 95 return splice_file_range(in, &pos_in, out, &pos_out, len); in splice_copy_file_range()
|
H A D | dax.h | 250 int dax_remap_file_range_prep(struct file *file_in, loff_t pos_in,
|
H A D | fs.h | 2107 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in, 2191 int __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, 2195 int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, 2198 extern loff_t vfs_clone_file_range(struct file *file_in, loff_t pos_in,
|
/linux/fs/btrfs/ |
H A D | reflink.h | 10 loff_t btrfs_remap_file_range(struct file *file_in, loff_t pos_in,
|
H A D | reflink.c | 774 static int btrfs_remap_file_range_prep(struct file *file_in, loff_t pos_in, in btrfs_remap_file_range_prep() argument 814 wb_len = ALIGN(inode_in->i_size, bs) - ALIGN_DOWN(pos_in, bs); in btrfs_remap_file_range_prep() 839 ret = btrfs_wait_ordered_range(BTRFS_I(inode_in), ALIGN_DOWN(pos_in, bs), in btrfs_remap_file_range_prep() 848 return generic_remap_file_range_prep(file_in, pos_in, file_out, pos_out, in btrfs_remap_file_range_prep()
|
/linux/include/uapi/linux/ |
H A D | f2fs.h | 79 __u64 pos_in; /* start position in src_fd */ 78 __u64 pos_in; /* start position in src_fd */ global() member
|
/linux/fs/f2fs/ |
H A D | file.c | 2930 static int f2fs_move_file_range(struct file *file_in, loff_t pos_in, in f2fs_move_file_range() argument 2953 if (pos_out < 0 || pos_in < 0) in f2fs_move_file_range() 2957 if (pos_in == pos_out) in f2fs_move_file_range() 2959 if (pos_out > pos_in && pos_out < pos_in + len) in f2fs_move_file_range() 2982 if (pos_in + len > src->i_size || pos_in + len < pos_in) in f2fs_move_file_range() 2985 olen = len = src->i_size - pos_in; in f2fs_move_file_range() 2986 if (pos_in + len == src->i_size) in f2fs_move_file_range() 2987 len = ALIGN(src->i_size, F2FS_BLKSIZE) - pos_in; in f2fs_move_file_range() 2998 if (!IS_ALIGNED(pos_in, F2FS_BLKSIZE) || in f2fs_move_file_range() 2999 !IS_ALIGNED(pos_in + len, F2FS_BLKSIZE) || in f2fs_move_file_range() [all …]
|
/linux/fs/ocfs2/ |
H A D | refcounttree.h | 110 loff_t pos_in,
|
H A D | refcounttree.c | 4490 loff_t pos_in, in ocfs2_reflink_remap_extent() argument 4514 spos = ocfs2_bytes_to_clusters(s_inode->i_sb, pos_in); in ocfs2_reflink_remap_extent() 4516 slast = ocfs2_clusters_for_bytes(s_inode->i_sb, pos_in + len); in ocfs2_reflink_remap_extent() 4604 loff_t pos_in, in ocfs2_reflink_remap_blocks() argument 4625 if (pos_in == pos_out && pos_in == 0 && len == i_size_read(s_inode) && in ocfs2_reflink_remap_blocks() 4684 ret = ocfs2_reflink_remap_extent(s_inode, s_bh, pos_in, t_inode, t_bh, in ocfs2_reflink_remap_blocks()
|
H A D | file.c | 2694 static loff_t ocfs2_remap_file_range(struct file *file_in, loff_t pos_in, in ocfs2_remap_file_range() argument 2724 ret = generic_remap_file_range_prep(file_in, pos_in, file_out, pos_out, in ocfs2_remap_file_range() 2740 remapped = ocfs2_reflink_remap_blocks(inode_in, in_bh, pos_in, in ocfs2_remap_file_range()
|
/linux/fs/fuse/ |
H A D | file.c | 3264 static ssize_t __fuse_copy_file_range(struct file *file_in, loff_t pos_in, in __fuse_copy_file_range() argument 3278 .off_in = pos_in, in __fuse_copy_file_range() 3299 err = fuse_writeback_range(inode_in, pos_in, pos_in + len - 1); in __fuse_copy_file_range()
|
/linux/Documentation/filesystems/ |
H A D | locking.rst | 549 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in,
|
H A D | vfs.rst | 1106 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in, 1211 implementation should remap len bytes at pos_in of the source
|