OL> So the implementation of the logic above is ... inaccurate :( I
OL> can reproduce it here; will take a closer look at it soon.

Indeed.  I think fixing the following typo makes my test case work as
expected for me:

diff --git a/checkpoint/ckpt_file.c b/checkpoint/ckpt_file.c
index 9ff401a..71aafb4 100644
--- a/checkpoint/ckpt_file.c
+++ b/checkpoint/ckpt_file.c
@@ -215,7 +215,7 @@ static int cr_write_fd_data(struct cr_ctx *ctx, struct file 
*file, int parent)
                return fd_type;
        }
 
-       hh->fd_objref = cr_inode_to_objref(ctx, inode, hh->fd_type, &new);
+       hh->fd_objref = cr_inode_to_objref(ctx, inode, fd_type, &new);
        pr_debug("type %d objref %d (%d)\n", hh->fd_type, hh->fd_objref, new);
        if (!new)
                fd_type = CR_FD_OBJREF;


-- 
Dan Smith
IBM Linux Technology Center
email: [email protected]

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to