mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 09:58:09 +00:00
sysctl: Make CTL_READ nonfatal
Some entries might be missing and that should not cause CRIU to stop dumping when we know the entries are safe to unuse. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
a1b2b10b93
commit
121e0b906f
@ -5,6 +5,7 @@ struct sysctl_req {
|
|||||||
char *name;
|
char *name;
|
||||||
void *arg;
|
void *arg;
|
||||||
int type;
|
int type;
|
||||||
|
int flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int sysctl_op(struct sysctl_req *req, size_t nr_req, int op);
|
extern int sysctl_op(struct sysctl_req *req, size_t nr_req, int op);
|
||||||
@ -30,4 +31,9 @@ enum {
|
|||||||
#define CTL_LEN(t) ((t) >> CTL_SHIFT)
|
#define CTL_LEN(t) ((t) >> CTL_SHIFT)
|
||||||
#define CTL_TYPE(t) ((t) & ((1 << CTL_SHIFT) - 1))
|
#define CTL_TYPE(t) ((t) & ((1 << CTL_SHIFT) - 1))
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some entries might be missing mark them as optional.
|
||||||
|
*/
|
||||||
|
#define CTL_FLAGS_OPTIONAL 1
|
||||||
|
|
||||||
#endif /* __CR_SYSCTL_H__ */
|
#endif /* __CR_SYSCTL_H__ */
|
||||||
|
1
net.c
1
net.c
@ -104,6 +104,7 @@ static int ipv4_conf_op(char *tgt, int *conf, int op, NetnsEntry **netns)
|
|||||||
req[ri].name = path[i];
|
req[ri].name = path[i];
|
||||||
req[ri].arg = &conf[i];
|
req[ri].arg = &conf[i];
|
||||||
req[ri].type = CTL_32;
|
req[ri].type = CTL_32;
|
||||||
|
req[ri].flags = 0;
|
||||||
ri++;
|
ri++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
sysctl.c
2
sysctl.c
@ -137,6 +137,8 @@ static int __sysctl_op(int dir, struct sysctl_req *req, int op)
|
|||||||
|
|
||||||
fd = openat(dir, req->name, flags);
|
fd = openat(dir, req->name, flags);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
|
if (errno == ENOENT && (req->flags & CTL_FLAGS_OPTIONAL))
|
||||||
|
return 0;
|
||||||
pr_perror("Can't open sysctl %s", req->name);
|
pr_perror("Can't open sysctl %s", req->name);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user