aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2006-01-06 03:19:37 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:55 -0500
commitde5f12025572ef8fcffa4be5453061725acfb754 (patch)
tree5d3f54fa7619fd7cc1ddddb037d31b280e3f3dba /fs
parent45714d65618407bce1fd0271bc58303ce14b0785 (diff)
[PATCH] fuse: add frsize to statfs reply
Add 'frsize' member to the statfs reply. I'm not sure if sending f_fsid will ever be needed, but just in case leave some space at the end of the structure, so less compatibility mess would be required. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/fuse/inode.c5
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;