[CRIU] [PATCH] Fall back to opening image files readonly if readwrite fails.
Pawel Stradomski
pstradomski at google.com
Mon Jul 30 19:47:34 MSK 2018
This can happen when running in user namespace with auto-dedup enabled.
Right now this means auto-dedup gets disabled.
Signed-off-by: Pawel Stradomski <pstradomski at google.com>
---
criu/mem.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/criu/mem.c b/criu/mem.c
index 44d0e258..0ae0edd2 100644
--- a/criu/mem.c
+++ b/criu/mem.c
@@ -1276,6 +1276,15 @@ static int prepare_vma_ios(struct pstree_item *t, struct task_restore_args *ta)
*/
pages = open_image(CR_FD_PAGES, opts.auto_dedup ? O_RDWR : O_RSTR,
rsti(t)->pages_img_id);
+ /* When running inside namespace we might lack privileges to open the file
+ * for writing.
+ * TODO: use userns_call to do the opening instead of downgrading to opening
+ * read-only.
+ */
+ if (!pages && opts.auto_dedup) {
+ pr_warn("Failed to open image read-write, trying read-only instead. auto-dedup won't work\n");
+ pages = open_image(CR_FD_PAGES, O_RSTR, rsti(t)->pages_img_id);
+ }
if (!pages)
return -1;
--
2.18.0.345.g5c9ce644c3-goog
More information about the CRIU
mailing list