• Pavel Emelyanov's avatar
    files: Support dumping/restoring of completely unlinked files · a1ccfb92
    Pavel Emelyanov authored
    Completely unlinked file is the one with n_link count being zero.
    Such files only allow to read their contents and carry with us.
    
    In order to dump this thing I introduce the "path remap" technology.
    For reg file a remapping entry is dumped which describes, that at
    restore stage before opening a regfile->path this path should be
    linked to some other name and then (after open) unlinked.
    
    For completely unlinked files the remap path would be a path to
    a "ghost" file, i.e. a file which is created only at the time of
    restore and which is removed completely at the end of it.
    
    Partially unlinked files (i.e. those having n_link != 0, but a
    path by which we see them in someone's fd is not accessible) should
    be handled in another way.
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    a1ccfb92
Name
Last commit
Last update
Documentation Loading commit data...
include Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
Makefile Loading commit data...
Makefile.inc Loading commit data...
README Loading commit data...
cr-check.c Loading commit data...
cr-dump.c Loading commit data...
cr-restore.c Loading commit data...
cr-show.c Loading commit data...
crtools.c Loading commit data...
file-ids.c Loading commit data...
files.c Loading commit data...
gen-offsets.sh Loading commit data...
ipc_ns.c Loading commit data...
kcmp-ids.c Loading commit data...
libnetlink.c Loading commit data...
log.c Loading commit data...
namespaces.c Loading commit data...
parasite-syscall.c Loading commit data...
parasite.c Loading commit data...
parasite.lds.S Loading commit data...
pipes.c Loading commit data...
proc_parse.c Loading commit data...
ptrace.c Loading commit data...
rbtree.c Loading commit data...
restorer-log.c Loading commit data...
restorer.c Loading commit data...
restorer.lds.S Loading commit data...
sockets.c Loading commit data...
sysctl.c Loading commit data...
util-net.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...