mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 12:28:13 -04:00
Add listxattr implementation to make EAs work
This commit is contained in:
parent
3357817e12
commit
07c310c615
@ -816,6 +816,26 @@ int op_getxattr(char const* path, char const* name, char* value, size_t size) {
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename LoggerPolicy>
|
||||||
|
int op_listxattr(char const* path, char* list, size_t size) {
|
||||||
|
dUSERDATA;
|
||||||
|
LOG_PROXY(LoggerPolicy, userdata->lgr);
|
||||||
|
|
||||||
|
LOG_DEBUG << __func__ << "(" << path << ", " << size << ")";
|
||||||
|
|
||||||
|
const std::string all_xattr = std::string(pid_xattr) + '\0';
|
||||||
|
|
||||||
|
if (size > 0) {
|
||||||
|
if (size < all_xattr.size()) {
|
||||||
|
return -ERANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
::memcpy(list, all_xattr.data(), all_xattr.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
return all_xattr.size();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void usage(char const* progname) {
|
void usage(char const* progname) {
|
||||||
@ -916,6 +936,7 @@ void init_fuse_ops(struct fuse_operations& ops) {
|
|||||||
ops.readdir = &op_readdir<LoggerPolicy>;
|
ops.readdir = &op_readdir<LoggerPolicy>;
|
||||||
ops.statfs = &op_statfs<LoggerPolicy>;
|
ops.statfs = &op_statfs<LoggerPolicy>;
|
||||||
ops.getxattr = &op_getxattr<LoggerPolicy>;
|
ops.getxattr = &op_getxattr<LoggerPolicy>;
|
||||||
|
ops.listxattr = &op_listxattr<LoggerPolicy>;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user