diff options
Diffstat (limited to 'libbcachefs/fs.c')
-rw-r--r-- | libbcachefs/fs.c | 9 |
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)); |