diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-11-28 13:27:10 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2005-11-28 13:27:10 +0000 |
commit | 2b4781100812d42e704c39c51303cd28ad3f9aa6 (patch) | |
tree | b0d0177640f15ff7425b33f69fa135cc18c39c7d /kernel/inode.c | |
parent | a90b7349306f10b2a9bde9a2537bf9a852452da4 (diff) | |
download | libfuse-2b4781100812d42e704c39c51303cd28ad3f9aa6.tar.gz |
a whole lot of crap
Diffstat (limited to 'kernel/inode.c')
-rw-r--r-- | kernel/inode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/inode.c b/kernel/inode.c index 142991c..f2d6768 100644 --- a/kernel/inode.c +++ b/kernel/inode.c @@ -290,6 +290,7 @@ static void convert_fuse_statfs(struct kstatfs *stbuf, struct fuse_kstatfs *attr { stbuf->f_type = FUSE_SUPER_MAGIC; stbuf->f_bsize = attr->bsize; + stbuf->f_frsize = attr->frsize; stbuf->f_blocks = attr->blocks; stbuf->f_bfree = attr->bfree; stbuf->f_bavail = attr->bavail; @@ -310,10 +311,12 @@ static int fuse_statfs(struct super_block *sb, struct kstatfs *buf) if (!req) return -EINTR; + memset(&outarg, 0, sizeof(outarg)); req->in.numargs = 0; req->in.h.opcode = FUSE_STATFS; req->out.numargs = 1; - req->out.args[0].size = sizeof(outarg); + req->out.args[0].size = + fc->minor < 4 ? FUSE_COMPAT_STATFS_SIZE : sizeof(outarg); req->out.args[0].value = &outarg; request_send(fc, req); err = req->out.h.error; |