[CRIU] [PATCH 2/2] mkdir -p any dirs necessary for files
Pavel Emelyanov
xemul at parallels.com
Mon Jun 23 23:51:27 PDT 2014
On 06/24/2014 06:57 AM, Tycho Andersen wrote:
> On Mon, Jun 23, 2014 at 10:20:18PM +0400, Andrew Vagin wrote:
>> On Mon, Jun 23, 2014 at 03:54:23PM +0000, Tycho Andersen wrote:
>>> Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
>>> ---
>>> files-reg.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/files-reg.c b/files-reg.c
>>> index 1f23f71..4647aa0 100644
>>> --- a/files-reg.c
>>> +++ b/files-reg.c
>>> @@ -7,6 +7,7 @@
>>> #include <sys/stat.h>
>>> #include <sys/vfs.h>
>>> #include <ctype.h>
>>> +#include <libgen.h>
>>>
>>> /* Stolen from kernel/fs/nfs/unlink.c */
>>> #define SILLYNAME_PREF ".nfs"
>>> @@ -709,8 +710,11 @@ static int do_open_reg_noseek_flags(int ns_root_fd, struct reg_file_info *rfi, v
>>> {
>>> u32 flags = *(u32 *)arg;
>>> int fd;
>>> + char *dir;
>>>
>>> fd = openat(ns_root_fd, rfi->path, flags);
>>> + dir = dirname(rfi->path);
>>> + mkdirpat(ns_root_fd, dir);
>>
>> I don't understand how it should work.
>>
>> You open file and then create a directory. If this directory doesn't
>> exist, the file can't be opened. You should fail on the next line,
>> should not you?
>
> Hmm. You are correct, except that this fixes an issue for me. Without
> it, I get:
>
> (00.320920) 364: Error (files-reg.c:721): Can't open file /dev/lxc/tty3 on restore: No such file or directory
> (00.320940) 364: Error (files-reg.c:686): Can't open file /dev/lxc/tty3: No such file or directory
This /dev/lxc/tty3 file -- what is it? Is it a tmpfs/devtmpfs filesystem? They
should not be just regular files on regular FS, why do they disappear after dump?
> but with it things "work" just fine (i.e. it gets past this point in
> the restore process). Is it possible that the errors here are ignored,
> so the directory is made but the file is never restored, but criu is
> ignoring errors?
>
> I will investigate more tomorrow, although if anyone has any thoughts
> they would be much appreciated.
>
> Tycho
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
>
More information about the CRIU
mailing list