mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-10 00:58:20 +03:00
test-fs-util: skip encrypted path test if we get EACCES
Unprivileged test-fs-util fails on my system since /sys/dev/block is inaccessible for unprivileged users, so let's skip encrypted path test if we get EACCES or similar. (cherry picked from commit 209650b7200115d2cad9081cb97e22608fce41f8)
This commit is contained in:
parent
0d026c9b0d
commit
dae0586e91
@ -850,11 +850,12 @@ static void test_path_is_encrypted_one(const char *p, int expect) {
|
||||
int r;
|
||||
|
||||
r = path_is_encrypted(p);
|
||||
if (r == -ENOENT) /* This might fail, if btrfs is used and we run in a container. In that case we
|
||||
* cannot resolve the device node paths that BTRFS_IOC_DEV_INFO returns, because
|
||||
* the device nodes are unlikely to exist in the container. But if we can't stat()
|
||||
* them we cannot determine the dev_t of them, and thus cannot figure out if they
|
||||
* are enrypted. Hence let's just ignore ENOENT here. */
|
||||
if (r == -ENOENT || ERRNO_IS_PRIVILEGE(r)) /* This might fail, if btrfs is used and we run in a
|
||||
* container. In that case we cannot resolve the device node paths that
|
||||
* BTRFS_IOC_DEV_INFO returns, because the device nodes are unlikely to exist in
|
||||
* the container. But if we can't stat() them we cannot determine the dev_t of
|
||||
* them, and thus cannot figure out if they are enrypted. Hence let's just ignore
|
||||
* ENOENT here. Also skip the test if we lack privileges. */
|
||||
return;
|
||||
assert_se(r >= 0);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user