mirror of
https://github.com/trapexit/mergerfs.git
synced 2024-11-22 20:43:24 +08:00
Fix reading of setxattr name
This commit is contained in:
parent
ac1f4b4d52
commit
d14427ad9e
|
@ -126,6 +126,7 @@ struct fuse_file_info_t
|
|||
#define FUSE_CAP_POSIX_ACL (1 << 19)
|
||||
#define FUSE_CAP_CACHE_SYMLINKS (1 << 20)
|
||||
#define FUSE_CAP_MAX_PAGES (1 << 21)
|
||||
#define FUSE_CAP_SETXATTR_EXT (1 << 22)
|
||||
|
||||
/**
|
||||
* Ioctl flags
|
||||
|
|
|
@ -2788,7 +2788,11 @@ fuse_lib_setxattr(fuse_req_t req,
|
|||
struct fuse_setxattr_in *arg;
|
||||
|
||||
arg = fuse_hdr_arg(hdr_);
|
||||
name = PARAM(arg);
|
||||
if((req->f->conn.capable & FUSE_SETXATTR_EXT) && (req->f->conn.want & FUSE_SETXATTR_EXT))
|
||||
name = PARAM(arg);
|
||||
else
|
||||
name = (((char*)arg) + FUSE_COMPAT_SETXATTR_IN_SIZE);
|
||||
|
||||
value = (name + strlen(name) + 1);
|
||||
|
||||
f = req_fuse_prepare(req);
|
||||
|
|
|
@ -1432,6 +1432,8 @@ do_init(fuse_req_t req,
|
|||
f->conn.capable |= FUSE_CAP_READDIR_PLUS;
|
||||
if (arg->flags & FUSE_READDIRPLUS_AUTO)
|
||||
f->conn.capable |= FUSE_CAP_READDIR_PLUS_AUTO;
|
||||
if (arg->flags & FUSE_SETXATTR_EXT)
|
||||
f->conn.capable |= FUSE_CAP_SETXATTR_EXT;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1519,6 +1521,8 @@ do_init(fuse_req_t req,
|
|||
outarg.flags |= FUSE_DO_READDIRPLUS;
|
||||
if (f->conn.want & FUSE_CAP_READDIR_PLUS_AUTO)
|
||||
outarg.flags |= FUSE_READDIRPLUS_AUTO;
|
||||
if (f->conn.want & FUSE_CAP_SETXATTR_EXT)
|
||||
outarg.flags |= FUSE_SETXATTR_EXT;
|
||||
|
||||
outarg.max_readahead = f->conn.max_readahead;
|
||||
outarg.max_write = f->conn.max_write;
|
||||
|
|
Loading…
Reference in New Issue
Block a user