diff --git a/fs/read_write.c b/fs/read_write.c index cce4ebac34a8..39b4a21dd933 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -1964,9 +1964,8 @@ out_error: } EXPORT_SYMBOL(vfs_dedupe_file_range_compare); -static int vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos, - struct file *dst_file, loff_t dst_pos, - u64 len) +int vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos, + struct file *dst_file, loff_t dst_pos, u64 len) { s64 ret; @@ -2001,6 +2000,7 @@ out_drop_write: return ret; } +EXPORT_SYMBOL(vfs_dedupe_file_range_one); int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same) { diff --git a/include/linux/fs.h b/include/linux/fs.h index 019817a083a0..b67209948f1b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1829,6 +1829,10 @@ extern int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff, loff_t len, bool *is_same); extern int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same); +extern int vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos, + struct file *dst_file, loff_t dst_pos, + u64 len); + struct super_operations { struct inode *(*alloc_inode)(struct super_block *sb);