When opening an fd at a position where the current image fd sits
the latter one should be moved.
Introduce a helper for this.
Signed-off-by; Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Nobody cares the returned fd, so just make it 0/-1 and clean up the callers.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Kernel has a new format for process children
(ie /proc/<pid>/task/<tid>/children) so adopt
crtools for it.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Parsing children will require to know the number
of threads found so in a sake of consistency pass
single struct pstree_item here as well.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
The kernel patches are carried in a separate
repo anyway, so a second place for patches
might be confusing.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
This as well forces to move ptrace
definitions into ptrace.h, otherwise
freshly fetched kernel headers become
conflict with existing ptrace constants.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Regardless that we link all things in one executable
better declare them so from the very beggining.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Instead of keeping all unrelated to
C/R procedure helpers in util.c move
logging related helpers to log.c.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
This as well implies we change paths to PATH_MAX size.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Pavel Emelianov <xemul@parallels.com>
We have a mess in our return codes:
some functions return negative values,
while others -- positive.
Sanitize the return codes and make error
condition to return negative values.
Reported-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Otherwise it may begin to restore a parent objects...
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
For this reason a function may return success in case of error.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
1. pipe() returns two descriptors with numbers (r: x, w: y).
We may want to restore it as (r: y, w: x).
2. Close a extra end, before try to restore a target end.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Even u64 address might consume not greater
than 20 bytes of string so 128 is enough and
safe here.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
If a process continue to run, it may change a state of filesystem.
@gorcunov:
- Drop -k option, it's not needed anymore.
- Allow -c option (continue execution of a
process after being dumped) in dumping procedure.
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>