dump: dump tid_addr_clear for thread leaders
parasite: clean up parasite_dump_thread_seized

It is never called for thread leaders, because they are dumped by
dump_task_core_all
parasite: remove the DUMP_TREAD command

Nobody uses it.
test: check, that parasite can rollback itself (v2)

This test uses systemtap to replace random parasite command on
invalide command. The parasite code received this command and should
rollback itself. CRIU didn't recived ack, should understand that
something wrong and exits. The systemtap inverts exit code of criu.

"zdtm.sh -d" is used for executing tests and testing that the state of
processes don't corrupted.

v2: randomize a command, which will be replaced
posix-times: don't fail if /proc/PID/times is absent

/proc/PID/times was added in 3.10, but FC19 relesead with 3.9.

Usually we support only last version of kernel in the project git, so
we can commit it as an additional patch for the fedora package.

Cc: Adrian Reber <adrian@lisas.de>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
zdtm: wait a test process instead of output file

A test should be completed if a test process exited.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
zdtm.sh: check number of mounts in mountinfo
zdtm: expand the mountpoints test

* check shared and slave mounts
* check bind-mounts
tmpfs: use the --one-file-system option for dumping tmpfs with help tar

Actully for dumping tmpfs it should be remounted to somewhere else to
avoid overmounts.
mount: link dependent mounts (v2)

All shared mounts from one group are connected to circular list.
All slave are added into the proper master list.

v2: change variable name and fix a bug about adding shared mounts in a
circular list.
mount: save group and master in image file

They are required for restoring shared and slave mounts
mounts: enumirate mounts bellow specified element
mounts: if a mount can't be mounted, it is queued in postpone list

Try to restore mounts while a postpone list isn't empty and check
that each iteration has some progress, otherwice it will fails for
preventing infinite loops
mounts: find mounts, which are propagated from a current one

A mount is propagated to all members of a parent's shared group

Signed-off-by: Andrey Vagin <avagin@openvz.org>
bindmounts
mounts: handle shared and slave mounts

The idea is simple. If a mount can't be mounted now, we will try to
mount it later.
check: check PTRACE_{GET,SET}SIGMASK
parasite: move code about creating control sockets in a separate func

It will be used in a few places
parasite: block signals for each parasite command

Pending signals should be saved, so signals should be blocked.
Signals are blocked for EACH command, because a chance to corrupt a
process state should be so small as possible.
parasite: restore registers after each parasite command

Currenly we can restore blocking signals with help ptrace,
so if registers are restored after command, a process state
will not be corrupted if criu crashes.