Commit 178692e7 authored by Pavel Tikhomirov's avatar Pavel Tikhomirov Committed by Pavel Emelyanov

net/sysctl: silence read error in case of CTL_FLAGS_READ_EIO_SKIP

Because stable_secret sysctl c/r produces a lot of spam error messages
in tests: https://github.com/xemul/criu/issues/160 But EIO for these
sysctl is valid behavior and no error need to be printed.

More general solution will also silence error messages for
sysctl_read_{u32,s32,u64}, but the flag CTL_FLAGS_READ_EIO_SKIP is
now used only for __CTL_STR and only for stable_secret so we can do
silence error only in sysctl_read_char.
Signed-off-by: 's avatarPavel Tikhomirov <ptikhomirov@virtuozzo.com>
Acked-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
Tested-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 5f9f1303
......@@ -132,7 +132,8 @@ sysctl_read_char(int fd, struct sysctl_req *req, char *arg, int nr)
pr_debug("%s nr %d\n", req->name, nr);
ret = read(fd, arg, nr);
if (ret < 0) {
pr_perror("Can't read %s", req->name);
if (errno != EIO || !(req->flags & CTL_FLAGS_READ_EIO_SKIP))
pr_perror("Can't read %s", req->name);
goto err;
}
ret = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment