summaryrefslogtreecommitdiff
path: root/libbcachefs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/fs.c')
-rw-r--r--libbcachefs/fs.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libbcachefs/fs.c b/libbcachefs/fs.c
index a47923d6..121150b5 100644
--- a/libbcachefs/fs.c
+++ b/libbcachefs/fs.c
@@ -25,6 +25,7 @@
#include <linux/aio.h>
#include <linux/backing-dev.h>
#include <linux/exportfs.h>
+#include <linux/fiemap.h>
#include <linux/module.h>
#include <linux/posix_acl.h>
#include <linux/random.h>
@@ -860,6 +861,10 @@ static int bch2_fiemap(struct inode *vinode, struct fiemap_extent_info *info,
bool have_extent = false;
int ret = 0;
+ ret = fiemap_prep(&ei->v, info, start, &len, FIEMAP_FLAG_SYNC);
+ if (ret)
+ return ret;
+
if (start + len < start)
return -EINVAL;
@@ -1236,8 +1241,8 @@ static int bch2_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_blocks = usage.capacity >> shift;
buf->f_bfree = (usage.capacity - usage.used) >> shift;
buf->f_bavail = buf->f_bfree;
- buf->f_files = usage.nr_inodes;
- buf->f_ffree = U64_MAX;
+ buf->f_files = 0;
+ buf->f_ffree = 0;
fsid = le64_to_cpup((void *) c->sb.user_uuid.b) ^
le64_to_cpup((void *) c->sb.user_uuid.b + sizeof(u64));