在 2022/7/19 18:21, Gao Xiang 写道:
Hi Jianan,
On Fri, Jul 15, 2022 at 05:53:59PM +0800, Huang Jianan wrote:
This implements xattr functionalities for erofsfuse. A large amount
of code was adapted from Linux kernel.
Signed-off-by: Huang Jianan <[email protected]>
---
fuse/main.c | 32 +++
include/erofs/internal.h | 8 +
include/erofs/xattr.h | 21 ++
lib/xattr.c | 508 +++++++++++++++++++++++++++++++++++++++
4 files changed, 569 insertions(+)
diff --git a/fuse/main.c b/fuse/main.c
index f4c2476..30a0bed 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -139,7 +139,39 @@ static int erofsfuse_readlink(const char *path, char
*buffer, size_t size)
return 0;
}
+static int erofsfuse_getxattr(const char *path, const char *name, char *value,
+ size_t size)
+{
+ int ret;
+ struct erofs_inode vi;
+
+ erofs_dbg("getxattr(%s): name=%s size=%llu", path, name, size);
+
+ ret = erofs_ilookup(path, &vi);
+ if (ret)
+ return ret;
+
+ return erofs_getxattr(&vi, name, value, size);
+}
+
+static int erofsfuse_listxattr(const char *path, char *list, size_t size)
+{
+ int ret;
+ struct erofs_inode vi;
+ int i;
As we discussed offline, this line should be unneeded.
A new patch has been sent, in addition a test case has been added.
Thanks,
Jianan
Thanks,
Gao Xiang