[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>
This commit is contained in:
parent
45714d6561
commit
de5f120255
2 changed files with 9 additions and 1 deletions
|
@ -218,6 +218,7 @@ static void convert_fuse_statfs(struct kstatfs *stbuf, struct fuse_kstatfs *attr
|
||||||
{
|
{
|
||||||
stbuf->f_type = FUSE_SUPER_MAGIC;
|
stbuf->f_type = FUSE_SUPER_MAGIC;
|
||||||
stbuf->f_bsize = attr->bsize;
|
stbuf->f_bsize = attr->bsize;
|
||||||
|
stbuf->f_frsize = attr->frsize;
|
||||||
stbuf->f_blocks = attr->blocks;
|
stbuf->f_blocks = attr->blocks;
|
||||||
stbuf->f_bfree = attr->bfree;
|
stbuf->f_bfree = attr->bfree;
|
||||||
stbuf->f_bavail = attr->bavail;
|
stbuf->f_bavail = attr->bavail;
|
||||||
|
@ -238,10 +239,12 @@ static int fuse_statfs(struct super_block *sb, struct kstatfs *buf)
|
||||||
if (!req)
|
if (!req)
|
||||||
return -EINTR;
|
return -EINTR;
|
||||||
|
|
||||||
|
memset(&outarg, 0, sizeof(outarg));
|
||||||
req->in.numargs = 0;
|
req->in.numargs = 0;
|
||||||
req->in.h.opcode = FUSE_STATFS;
|
req->in.h.opcode = FUSE_STATFS;
|
||||||
req->out.numargs = 1;
|
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;
|
req->out.args[0].value = &outarg;
|
||||||
request_send(fc, req);
|
request_send(fc, req);
|
||||||
err = req->out.h.error;
|
err = req->out.h.error;
|
||||||
|
|
|
@ -53,6 +53,9 @@ struct fuse_kstatfs {
|
||||||
__u64 ffree;
|
__u64 ffree;
|
||||||
__u32 bsize;
|
__u32 bsize;
|
||||||
__u32 namelen;
|
__u32 namelen;
|
||||||
|
__u32 frsize;
|
||||||
|
__u32 padding;
|
||||||
|
__u32 spare[6];
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FATTR_MODE (1 << 0)
|
#define FATTR_MODE (1 << 0)
|
||||||
|
@ -213,6 +216,8 @@ struct fuse_write_out {
|
||||||
__u32 padding;
|
__u32 padding;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define FUSE_COMPAT_STATFS_SIZE 48
|
||||||
|
|
||||||
struct fuse_statfs_out {
|
struct fuse_statfs_out {
|
||||||
struct fuse_kstatfs st;
|
struct fuse_kstatfs st;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue