* [PATCH 1/1] exfat: Add fiemap support
2021-07-20 9:37 [PATCH 0/1] exfat: Add fiemap support Pavel Reichl
@ 2021-07-20 9:37 ` Pavel Reichl
2021-07-20 10:44 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: Pavel Reichl @ 2021-07-20 9:37 UTC (permalink / raw)
To: linux-fsdevel; +Cc: cem
Signed-off-by: Pavel Reichl <preichl@redhat.com>
---
fs/exfat/exfat_fs.h | 3 +++
fs/exfat/file.c | 1 +
fs/exfat/inode.c | 8 ++++++++
3 files changed, 12 insertions(+)
diff --git a/fs/exfat/exfat_fs.h b/fs/exfat/exfat_fs.h
index 1d6da61157c9..1c22aa7107d4 100644
--- a/fs/exfat/exfat_fs.h
+++ b/fs/exfat/exfat_fs.h
@@ -428,6 +428,9 @@ long exfat_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
long exfat_compat_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg);
+extern int exfat_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+ u64 start, u64 len);
+
/* namei.c */
extern const struct dentry_operations exfat_dentry_ops;
extern const struct dentry_operations exfat_utf8_dentry_ops;
diff --git a/fs/exfat/file.c b/fs/exfat/file.c
index 6af0191b648f..7823dcbca96e 100644
--- a/fs/exfat/file.c
+++ b/fs/exfat/file.c
@@ -432,4 +432,5 @@ const struct file_operations exfat_file_operations = {
const struct inode_operations exfat_file_inode_operations = {
.setattr = exfat_setattr,
.getattr = exfat_getattr,
+ .fiemap = exfat_fiemap,
};
diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c
index 1803ef3220fd..c6f95d68badc 100644
--- a/fs/exfat/inode.c
+++ b/fs/exfat/inode.c
@@ -13,6 +13,7 @@
#include <linux/uio.h>
#include <linux/random.h>
#include <linux/iversion.h>
+#include <linux/fiemap.h>
#include "exfat_raw.h"
#include "exfat_fs.h"
@@ -358,6 +359,13 @@ static int exfat_get_block(struct inode *inode, sector_t iblock,
return err;
}
+int exfat_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+ u64 start, u64 len)
+{
+ return generic_block_fiemap(inode, fieinfo, start, len,
+ exfat_get_block);
+}
+
static int exfat_readpage(struct file *file, struct page *page)
{
return mpage_readpage(page, exfat_get_block);
--
2.31.1
^ permalink raw reply related [flat|nested] 3+ messages in thread