diff options
author | amitgeron <amit.geron@gmail.com> | 2023-12-17 19:45:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-17 17:45:47 +0000 |
commit | bd8985945b5a1c35b7baa71571b1b61807ad7514 (patch) | |
tree | 7366bc35179bde559d2337a19cdb263ac5825329 | |
parent | 3f6cf537b77597d89bebd8387e93d4e42428b966 (diff) | |
download | libfuse-bd8985945b5a1c35b7baa71571b1b61807ad7514.tar.gz |
Allow *xattr operations on root directory (ino 1)
-rw-r--r-- | example/hello_ll.c | 6 | ||||
-rwxr-xr-x | test/test_examples.py | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/example/hello_ll.c b/example/hello_ll.c index 0299ffb..803528d 100644 --- a/example/hello_ll.c +++ b/example/hello_ll.c @@ -157,7 +157,7 @@ static void hello_ll_getxattr(fuse_req_t req, fuse_ino_t ino, const char *name, size_t size) { (void)size; - assert(ino == 2); + assert(ino == 1 || ino == 2); if (strcmp(name, "hello_ll_getxattr_name") == 0) { const char *buf = "hello_ll_getxattr_value"; @@ -174,7 +174,7 @@ static void hello_ll_setxattr(fuse_req_t req, fuse_ino_t ino, const char *name, { (void)flags; (void)size; - assert(ino == 2); + assert(ino == 1 || ino == 2); const char* exp_val = "hello_ll_setxattr_value"; if (strcmp(name, "hello_ll_setxattr_name") == 0 && strlen(exp_val) == size && @@ -190,7 +190,7 @@ static void hello_ll_setxattr(fuse_req_t req, fuse_ino_t ino, const char *name, static void hello_ll_removexattr(fuse_req_t req, fuse_ino_t ino, const char *name) { - assert(ino == 2); + assert(ino == 1 || ino == 2); if (strcmp(name, "hello_ll_removexattr_name") == 0) { fuse_reply_err(req, 0); diff --git a/test/test_examples.py b/test/test_examples.py index 96e4108..a597f55 100755 --- a/test/test_examples.py +++ b/test/test_examples.py @@ -106,6 +106,8 @@ def test_hello(tmpdir, name, options, cmdline_builder, output_checker): assert exc_info.value.errno == errno.ENOENT if name == 'hello_ll': tst_xattr(mnt_dir) + path = os.path.join(mnt_dir, 'hello') + tst_xattr(path) except: cleanup(mount_process, mnt_dir) raise @@ -855,8 +857,7 @@ def tst_passthrough(src_dir, mnt_dir): assert os.stat(src_name) == os.stat(mnt_name) -def tst_xattr(mnt_dir): - path = os.path.join(mnt_dir, 'hello') +def tst_xattr(path): os.setxattr(path, b'hello_ll_setxattr_name', b'hello_ll_setxattr_value') assert os.getxattr(path, b'hello_ll_getxattr_name') == b'hello_ll_getxattr_value' os.removexattr(path, b'hello_ll_removexattr_name') |