summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2018-07-18 16:44:40 +0300
committerMiklos Szeredi <mszeredi@redhat.com>2018-07-18 16:44:40 +0300
commitf182536684d876afaf4627c36a16c4e15ea8a2b8 (patch)
tree649bd1e970d15b787d1121f1063e496cd20eac36
parent9df6702ad0e85901450fe48a7b5f0f8975353eeb (diff)
downloadlinux-f182536684d876afaf4627c36a16c4e15ea8a2b8.tar.xz
vfs: export vfs_dedupe_file_range_one() to modules
This is needed by the stacked dedupe implementation in overlayfs. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
-rw-r--r--fs/read_write.c6
-rw-r--r--include/linux/fs.h4
2 files changed, 7 insertions, 3 deletions
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);