mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-08-04 15:53:44 +00:00
criu: Don't fail if ghost file has no parent dirs.
Due to way CRIU handles paths (as relative to workdir), there's a case, where migration would fail. Simple example is a ghost file in filesystem root (with root being cwd). For example, "/unlinked" becomes "unlinked". And original code piece scans path for other slashes, which would be missing in this case. But it's still a perfectly valid case, and there's no need to fail. So if there's no parent dir - we just don't need to create one and we can just return 0 here instead of failing. Signed-off-by: Vitaly Ostrosablin <vostrosablin@virtuozzo.com> Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
parent
c767b11c54
commit
6ccd871ba6
1 changed files with 2 additions and 4 deletions
|
|
@ -1513,10 +1513,8 @@ static int make_parent_dirs_if_need(int mntns_root, char *path)
|
|||
struct stat st;
|
||||
|
||||
p = last_delim = strrchr(path, '/');
|
||||
if (!p) {
|
||||
pr_err("Path %s has no parent dir\n", path);
|
||||
return -1;
|
||||
}
|
||||
if (!p)
|
||||
return 0;
|
||||
*p = '\0';
|
||||
|
||||
if (fstatat(mntns_root, path, &st, AT_EMPTY_PATH) == 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue