Commits
Andrey Mirkin authored and Pavel Emelyanov committed bc4769bb4ac
CPT: fix reopen dentries procedure Dentries were not reopened correctly during checkpointing and restore. Two bugs fixed: 1. In case of huge files (more then 2Gb) dentry_open() returns -EFBIG if O_LARGEFILE flag is not set. This flag should be used for temporary files used during checkpointing and restore process. Bug #99544 https://bugzilla.sw.ru/show_bug.cgi?id=99544 2. In dump_content_regular() we have following code: file = dentry_open(dget(file->f_dentry), mntget(file->f_vfsmnt), O_RDONLY); if (IS_ERR(file)) { cpt_printk_dentry(file->f_dentry, file->f_vfsmnt); eprintk_ctx("cannot reopen file for read %ld\n", PTR_ERR(file)); return PTR_ERR(file); } Which results in kernel oops if dentry_open() returns error (e.g. -EFBIG because of bug #99544) Bug #99542 Signed-off-by: Pavel Emelyanov <xemul@openvz.org>