diff options
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index e69a546844d0..3b928a02af04 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -218,6 +218,7 @@ static void convert_fuse_statfs(struct kstatfs *stbuf, struct fuse_kstatfs *attr | |||
218 | { | 218 | { |
219 | stbuf->f_type = FUSE_SUPER_MAGIC; | 219 | stbuf->f_type = FUSE_SUPER_MAGIC; |
220 | stbuf->f_bsize = attr->bsize; | 220 | stbuf->f_bsize = attr->bsize; |
221 | stbuf->f_frsize = attr->frsize; | ||
221 | stbuf->f_blocks = attr->blocks; | 222 | stbuf->f_blocks = attr->blocks; |
222 | stbuf->f_bfree = attr->bfree; | 223 | stbuf->f_bfree = attr->bfree; |
223 | stbuf->f_bavail = attr->bavail; | 224 | stbuf->f_bavail = attr->bavail; |
@@ -238,10 +239,12 @@ static int fuse_statfs(struct super_block *sb, struct kstatfs *buf) | |||
238 | if (!req) | 239 | if (!req) |
239 | return -EINTR; | 240 | return -EINTR; |
240 | 241 | ||
242 | memset(&outarg, 0, sizeof(outarg)); | ||
241 | req->in.numargs = 0; | 243 | req->in.numargs = 0; |
242 | req->in.h.opcode = FUSE_STATFS; | 244 | req->in.h.opcode = FUSE_STATFS; |
243 | req->out.numargs = 1; | 245 | req->out.numargs = 1; |
244 | req->out.args[0].size = sizeof(outarg); | 246 | req->out.args[0].size = |
247 | fc->minor < 4 ? FUSE_COMPAT_STATFS_SIZE : sizeof(outarg); | ||
245 | req->out.args[0].value = &outarg; | 248 | req->out.args[0].value = &outarg; |
246 | request_send(fc, req); | 249 | request_send(fc, req); |
247 | err = req->out.h.error; | 250 | err = req->out.h.error; |