• Stanislav Kinsburskiy's avatar
    autofs: dump fsinfo stage introduced · 2429f08b
    Stanislav Kinsburskiy authored
    AutoFS mount point is managed by user space daemon, which receives
    requests from kernel via pipe, passed on mount operation.
    Kernel hold write end, while user space process - read end.
    Thus, for successful AutoFS migration, this connection has to be
    restored.
    During this stage, all the autofs parameters and parsed and collected in
    per-mount autofs structure. It also does check that autofs mounts is not in
    interim state.
    
    Below are major tricks to be performed to dump AutoFS mount:
    
    1) Read end of the pipe in the process have to be discovered: it will be used
    to restore the pipe in case of write pipe end in closed in the process.
    Note: migration of AutoFS mounts, which process group leader doesn't have read
    pipe end opened is not supported.
    
    2) Read pipe end has to be empty. Otherwise autofs is an interim state.
    Interim state is determined by control pipe contents: if it's not empty, then
    it means, that kernel requested some operation (mount/umount), which is in
    process right now.
    In case of pipe is not empty, dump is aborted.
    
    3) Mount points are collected (parsed) from initial pid namespace, which leads
    to real pgrp value in AutoFS options instead of virtual one. This have to be
    fixed.
    Note: we don't care about virtual pgrp in case of catatonic mounts
    Signed-off-by: 's avatarStanislav Kinsburskiy <skinsbursky@virtuozzo.com>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
    2429f08b
Name
Last commit
Last update
Documentation Loading commit data...
contrib Loading commit data...
coredump Loading commit data...
crit Loading commit data...
criu Loading commit data...
images Loading commit data...
lib Loading commit data...
scripts Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL.md Loading commit data...
Makefile Loading commit data...
Makefile.install Loading commit data...
Makefile.versions Loading commit data...
README.md Loading commit data...