From f182536684d876afaf4627c36a16c4e15ea8a2b8 Mon Sep 17 00:00:00 2001
From: Miklos Szeredi <mszeredi@redhat.com>
Date: Wed, 18 Jul 2018 15:44:40 +0200
Subject: [PATCH] vfs: export vfs_dedupe_file_range_one() to modules
Git-commit: f182536684d876afaf4627c36a16c4e15ea8a2b8
Patch-mainline: v4.19-rc1
References: bsc#1133772, bsc#1132219
This is needed by the stacked dedupe implementation in overlayfs.
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Acked-by: Anthony Iliopoulos <ailiopoulos@suse.com>
---
fs/read_write.c | 6 +++---
include/linux/fs.h | 4 ++++
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 @@ int vfs_dedupe_file_range_compare(struct inode *src, loff_t srcoff,
}
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 @@ static int vfs_dedupe_file_range_one(struct file *src_file, loff_t src_pos,
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);
--
2.16.4