| /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 | 1481 static int generic_copy_file_checks(struct file *file_in, loff_t pos_in, in generic_copy_file_checks() argument 1523 if (pos_in + count < pos_in || pos_out + count < pos_out) in generic_copy_file_checks() 1528 if (pos_in >= size_in) in generic_copy_file_checks() 1531 count = min(count, size_in - (uint64_t)pos_in); in generic_copy_file_checks() 1539 pos_out + count > pos_in && in generic_copy_file_checks() 1540 pos_out < pos_in + count) in generic_copy_file_checks() 1552 ssize_t vfs_copy_file_range(struct file *file_in, loff_t pos_in, in vfs_copy_file_range() argument 1563 ret = generic_copy_file_checks(file_in, pos_in, file_out, pos_out, &len, in vfs_copy_file_range() 1568 ret = rw_verify_area(READ, file_in, &pos_in, len); in vfs_copy_file_range() 1594 ret = file_out->f_op->copy_file_range(file_in, pos_in, in vfs_copy_file_range() [all …]
|
| H A D | dax.c | 2233 int dax_remap_file_range_prep(struct file *file_in, loff_t pos_in, in dax_remap_file_range_prep() argument 2238 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 | 51 extern loff_t xfs_reflink_remap_range(struct file *file_in, loff_t pos_in, 60 extern int xfs_reflink_remap_prep(struct file *file_in, loff_t pos_in, 63 extern int xfs_reflink_remap_blocks(struct xfs_inode *src, loff_t pos_in,
|
| H A D | xfs_reflink.c | 1529 loff_t pos_in, in xfs_reflink_remap_blocks() argument 1537 xfs_fileoff_t srcoff = XFS_B_TO_FSBT(mp, pos_in); in xfs_reflink_remap_blocks() 1654 loff_t pos_in, in xfs_reflink_remap_prep() argument 1682 ret = generic_remap_file_range_prep(file_in, pos_in, file_out, in xfs_reflink_remap_prep() 1685 ret = dax_remap_file_range_prep(file_in, pos_in, file_out, in xfs_reflink_remap_prep()
|
| H A D | xfs_file.c | 1531 loff_t pos_in, in xfs_file_remap_range() argument 1556 ret = xfs_reflink_remap_prep(file_in, pos_in, file_out, pos_out, in xfs_file_remap_range() 1561 trace_xfs_reflink_remap_range(src, pos_in, len, dest, pos_out); in xfs_file_remap_range() 1563 ret = xfs_reflink_remap_blocks(src, pos_in, dest, pos_out, len, in xfs_file_remap_range() 1574 if (pos_in == 0 && len == i_size_read(inode_in) && in xfs_file_remap_range()
|
| /linux/fs/overlayfs/ |
| H A D | file.c | 526 static loff_t ovl_copyfile(struct file *file_in, loff_t pos_in, in ovl_copyfile() argument 556 ret = vfs_copy_file_range(realfile_in, pos_in, in ovl_copyfile() 561 ret = vfs_clone_file_range(realfile_in, pos_in, in ovl_copyfile() 566 ret = vfs_dedupe_file_range_one(realfile_in, pos_in, in ovl_copyfile() 582 static ssize_t ovl_copy_file_range(struct file *file_in, loff_t pos_in, in ovl_copy_file_range() argument 586 return ovl_copyfile(file_in, pos_in, file_out, pos_out, len, flags, in ovl_copy_file_range() 590 static loff_t ovl_remap_file_range(struct file *file_in, loff_t pos_in, in ovl_remap_file_range() argument 613 return ovl_copyfile(file_in, pos_in, file_out, pos_out, len, in ovl_remap_file_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 | fs.h | 1954 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in, 2068 int __generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, 2072 int generic_remap_file_range_prep(struct file *file_in, loff_t pos_in, 2075 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 | 777 static int btrfs_remap_file_range_prep(struct file *file_in, loff_t pos_in, in btrfs_remap_file_range_prep() argument 821 wb_len = ALIGN(inode_in->vfs_inode.i_size, bs) - ALIGN_DOWN(pos_in, bs); in btrfs_remap_file_range_prep() 846 ret = btrfs_wait_ordered_range(inode_in, ALIGN_DOWN(pos_in, bs), wb_len); in btrfs_remap_file_range_prep() 853 return generic_remap_file_range_prep(file_in, pos_in, file_out, pos_out, in btrfs_remap_file_range_prep()
|
| /linux/fs/f2fs/ |
| H A D | file.c | 3086 static int f2fs_move_file_range(struct file *file_in, loff_t pos_in, in f2fs_move_file_range() argument 3109 if (pos_out < 0 || pos_in < 0) in f2fs_move_file_range() 3113 if (pos_in == pos_out) in f2fs_move_file_range() 3115 if (pos_out > pos_in && pos_out < pos_in + len) in f2fs_move_file_range() 3138 if (pos_in + len > src->i_size || pos_in + len < pos_in) in f2fs_move_file_range() 3141 olen = len = src->i_size - pos_in; in f2fs_move_file_range() 3142 if (pos_in + len == src->i_size) in f2fs_move_file_range() 3143 len = ALIGN(src->i_size, F2FS_BLKSIZE) - pos_in; in f2fs_move_file_range() 3154 if (!IS_ALIGNED(pos_in, F2FS_BLKSIZE) || in f2fs_move_file_range() 3155 !IS_ALIGNED(pos_in + len, F2FS_BLKSIZE) || in f2fs_move_file_range() [all …]
|
| /linux/include/uapi/linux/ |
| H A D | f2fs.h | 86 __u64 pos_in; /* start position in src_fd */ member
|
| /linux/fs/ocfs2/ |
| H A D | refcounttree.h | 110 loff_t pos_in,
|
| H A D | refcounttree.c | 4485 /* Remap the range pos_in:len in s_inode to pos_out:len in t_inode. */ 4488 loff_t pos_in, in ocfs2_reflink_remap_extent() argument 4512 spos = ocfs2_bytes_to_clusters(s_inode->i_sb, pos_in); in ocfs2_reflink_remap_extent() 4514 slast = ocfs2_clusters_for_bytes(s_inode->i_sb, pos_in + len); in ocfs2_reflink_remap_extent() 4602 loff_t pos_in, in ocfs2_reflink_remap_blocks() argument 4623 if (pos_in == pos_out && pos_in == 0 && len == i_size_read(s_inode) && in ocfs2_reflink_remap_blocks() 4682 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 | 2700 static loff_t ocfs2_remap_file_range(struct file *file_in, loff_t pos_in, in ocfs2_remap_file_range() argument 2730 ret = generic_remap_file_range_prep(file_in, pos_in, file_out, pos_out, in ocfs2_remap_file_range() 2746 remapped = ocfs2_reflink_remap_blocks(inode_in, in_bh, pos_in, in ocfs2_remap_file_range()
|
| /linux/fs/fuse/ |
| H A D | file.c | 3016 static ssize_t __fuse_copy_file_range(struct file *file_in, loff_t pos_in, in __fuse_copy_file_range() argument 3030 .off_in = pos_in, in __fuse_copy_file_range() 3053 err = fuse_writeback_range(inode_in, pos_in, pos_in + len - 1); in __fuse_copy_file_range()
|
| /linux/Documentation/filesystems/ |
| H A D | vfs.rst | 1086 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in, 1196 implementation should remap len bytes at pos_in of the source
|
| H A D | locking.rst | 505 loff_t (*remap_file_range)(struct file *file_in, loff_t pos_in,
|