diff --git a/CHANGELOG.md b/CHANGELOG.md index 208dfc2f3b4dc33d81bab4fdf0293b32dbb11166..9d8f49b8ded7fac2e0786bb4de59116b6082bc09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Changed - Tests check ret for -1 instead of 10000 fd ([!320](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/320)) - Allow some more script tests to run as pthread_at_fork solved some issues. - + - Return EINVAL is better than ENOTSUP on internal readlink ([!223](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/223)) + ### Fixed diff --git a/src/client/hooks.cpp b/src/client/hooks.cpp index 82bc545a2a43626eaa20d461c890bc4d9ded0b90..24977608880b491f3764ad36eed57ec43d7d5d85 100644 --- a/src/client/hooks.cpp +++ b/src/client/hooks.cpp @@ -801,8 +801,7 @@ hook_readlinkat(int dirfd, const char* cpath, char* buf, int bufsiz) { return -ENOTDIR; case gkfs::preload::RelativizeStatus::internal: - LOG(WARNING, "{}() not supported", __func__); - return -ENOTSUP; + return -EINVAL; default: LOG(ERROR, "{}() relativize status unknown: {}", __func__); diff --git a/tests/integration/harness/gkfs.io/syscall_coverage.cpp b/tests/integration/harness/gkfs.io/syscall_coverage.cpp index b1480a6d83fd877b5351c036660efcf87484a5d7..68baaf483fec912b314157adfbcfbf09e5cadbca 100644 --- a/tests/integration/harness/gkfs.io/syscall_coverage.cpp +++ b/tests/integration/harness/gkfs.io/syscall_coverage.cpp @@ -314,7 +314,7 @@ syscall_coverage_exec(const syscall_coverage_options& opts) { // readlinkat rv = ::readlinkat(AT_FDCWD, opts.pathname.c_str(), buf, sizeof(buf)); - if(errno != ENOTSUP) { + if(errno != EINVAL) { output("readlinkat", rv, opts); return; }