Hi Suka,

SB> I am trying to compile mktree.c with [v14-rc1] but get this:

I had the same problem and had to fix up mktree.c a bit.  Oren said he
had a fix for this, but I haven't seen it yet.  So, I've included mine
at the bottom in case it helps.

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

Signed-off-by: Dan Smith <[email protected]>
---
 mktree.c |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/mktree.c b/mktree.c
index c97c2de..65a0fdc 100644
--- a/mktree.c
+++ b/mktree.c
@@ -560,18 +560,24 @@ static int cr_read_head(struct cr_ctx *ctx)
        if (ret < 0)
                return ret;
 
-       len = hh->uts_len;
+       len = hh->uts_release_len + hh->uts_version_len + hh->uts_machine_len;
        if (len < 0 || len > BUFSIZE / 4)
                return -EINVAL;
        ptr = (char *) (hh + 1);
 
-       ret = cr_read_obj_buffer(ctx, ptr, len);
+       len = 0;
+
+       ret = cr_read_obj_buffer(ctx, ptr, hh->uts_release_len);
        if (ret < 0)
                return ret;
-       ret = cr_read_obj_buffer(ctx, ptr + len, len);
+       len += hh->uts_release_len;
+
+       ret = cr_read_obj_buffer(ctx, ptr + len, hh->uts_version_len);
        if (ret < 0)
                return ret;
-       ret = cr_read_obj_buffer(ctx, ptr + 2*len, len);
+       len += hh->uts_version_len;
+
+       ret = cr_read_obj_buffer(ctx, ptr + len, hh->uts_machine_len);
        if (ret < 0)
                return ret;
 
@@ -627,7 +633,7 @@ static int cr_write_head(struct cr_ctx *ctx)
        struct cr_hdr h;
        struct cr_hdr_head *hh;
        char *ptr;
-       int len, ret;
+       int len = 0, ret;
 
        h.type = CR_HDR_HEAD;
        h.len = sizeof(*hh);
@@ -636,16 +642,19 @@ static int cr_write_head(struct cr_ctx *ctx)
        if (ret < 0)
                return ret;
 
-       len = hh->uts_len;
        ptr = (char *) (hh + 1);
 
-       ret = cr_write_obj_buffer(ctx, ptr, len);
+       ret = cr_write_obj_buffer(ctx, ptr, hh->uts_release_len);
        if (ret < 0)
                return ret;
-       ret = cr_write_obj_buffer(ctx, ptr + len, len);
+       len += hh->uts_release_len;
+
+       ret = cr_write_obj_buffer(ctx, ptr + len, hh->uts_version_len);
        if (ret < 0)
                return ret;
-       ret = cr_write_obj_buffer(ctx, ptr + 2*len, len);
+       len += hh->uts_version_len;
+
+       ret = cr_write_obj_buffer(ctx, ptr + len, hh->uts_machine_len);
 
        return ret;
 }
-- 
1.5.6.3


_______________________________________________
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