fuse: rearrange and resize fuse_args fields
This makes the structure better packed. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
d5b4854357
commit
1f4e9d03d1
@ -287,12 +287,12 @@ struct fuse_page_desc {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct fuse_args {
|
struct fuse_args {
|
||||||
uint32_t opcode;
|
|
||||||
uint64_t nodeid;
|
uint64_t nodeid;
|
||||||
unsigned int in_numargs;
|
uint32_t opcode;
|
||||||
|
unsigned short in_numargs;
|
||||||
|
unsigned short out_numargs;
|
||||||
|
bool out_argvar:1;
|
||||||
struct fuse_in_arg in_args[3];
|
struct fuse_in_arg in_args[3];
|
||||||
unsigned int out_argvar:1;
|
|
||||||
unsigned int out_numargs;
|
|
||||||
struct fuse_arg out_args[2];
|
struct fuse_arg out_args[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ ssize_t fuse_getxattr(struct inode *inode, const char *name, void *value,
|
|||||||
/* This is really two different operations rolled into one */
|
/* This is really two different operations rolled into one */
|
||||||
args.out_numargs = 1;
|
args.out_numargs = 1;
|
||||||
if (size) {
|
if (size) {
|
||||||
args.out_argvar = 1;
|
args.out_argvar = true;
|
||||||
args.out_args[0].size = size;
|
args.out_args[0].size = size;
|
||||||
args.out_args[0].value = value;
|
args.out_args[0].value = value;
|
||||||
} else {
|
} else {
|
||||||
@ -129,7 +129,7 @@ ssize_t fuse_listxattr(struct dentry *entry, char *list, size_t size)
|
|||||||
/* This is really two different operations rolled into one */
|
/* This is really two different operations rolled into one */
|
||||||
args.out_numargs = 1;
|
args.out_numargs = 1;
|
||||||
if (size) {
|
if (size) {
|
||||||
args.out_argvar = 1;
|
args.out_argvar = true;
|
||||||
args.out_args[0].size = size;
|
args.out_args[0].size = size;
|
||||||
args.out_args[0].value = list;
|
args.out_args[0].value = list;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user