* ckpt-v20-rc1
@ 2010-03-15 2:48 Oren Laadan
[not found] ` <4B9DA00C.3000001-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Oren Laadan @ 2010-03-15 2:48 UTC (permalink / raw)
To: Linux Containers; +Cc: Dan Smith
I pushed all the recent patches to ckpt-v19-dev (except for Matt's code
order series). It includes the recent post of netdev/netns.
Feel free to yell if I left out your patch unjustifiably.
Also pushed ckpt-v20-rc1 which is a clean patchset of the same and
also rebased to 2.6.33, lightly tested here.
The goal is to get ckpt-v20 in 1-2 days and post the series on LKML
following up on Andrew's reply.
Before that, I'd like to validate that there are no regressions, and
apply some netns/netdev cleanups (in particular, the kernel doesn't
compile when NETNS isn't configured)
Let's give it a quick test drive.
Oren.
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <4B9DA00C.3000001-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>]
* Re: ckpt-v20-rc1 [not found] ` <4B9DA00C.3000001-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> @ 2010-03-15 2:52 ` Oren Laadan 2010-03-15 3:23 ` ckpt-v20-rc1 Serge E. Hallyn 1 sibling, 0 replies; 6+ messages in thread From: Oren Laadan @ 2010-03-15 2:52 UTC (permalink / raw) To: Linux Containers; +Cc: Dan Smith Oren Laadan wrote: > I pushed all the recent patches to ckpt-v19-dev (except for Matt's code > order series). It includes the recent post of netdev/netns. Also excludes Serge's nested-pid patch... Oren. > > Feel free to yell if I left out your patch unjustifiably. > > Also pushed ckpt-v20-rc1 which is a clean patchset of the same and > also rebased to 2.6.33, lightly tested here. > > The goal is to get ckpt-v20 in 1-2 days and post the series on LKML > following up on Andrew's reply. > > Before that, I'd like to validate that there are no regressions, and > apply some netns/netdev cleanups (in particular, the kernel doesn't > compile when NETNS isn't configured) > > Let's give it a quick test drive. > > Oren. > > > _______________________________________________ > Containers mailing list > Containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org > https://lists.linux-foundation.org/mailman/listinfo/containers > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: ckpt-v20-rc1 [not found] ` <4B9DA00C.3000001-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> 2010-03-15 2:52 ` ckpt-v20-rc1 Oren Laadan @ 2010-03-15 3:23 ` Serge E. Hallyn [not found] ` <20100315032347.GA4707-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> 1 sibling, 1 reply; 6+ messages in thread From: Serge E. Hallyn @ 2010-03-15 3:23 UTC (permalink / raw) To: Oren Laadan; +Cc: Linux Containers, Dan Smith Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): > > I pushed all the recent patches to ckpt-v19-dev (except for Matt's code > order series). It includes the recent post of netdev/netns. > > Feel free to yell if I left out your patch unjustifiably. > > Also pushed ckpt-v20-rc1 which is a clean patchset of the same and > also rebased to 2.6.33, lightly tested here. > > The goal is to get ckpt-v20 in 1-2 days and post the series on LKML > following up on Andrew's reply. > > Before that, I'd like to validate that there are no regressions, and > apply some netns/netdev cleanups (in particular, the kernel doesn't > compile when NETNS isn't configured) > > Let's give it a quick test drive. > > Oren. > hmm, ERROR: "ckpt_obj_lookup" [drivers/net/veth.ko] undefined! ERROR: "do_ckpt_msg" [drivers/net/veth.ko] undefined! ERROR: "ckpt_hdr_put" [drivers/net/veth.ko] undefined! ERROR: "checkpoint_obj" [drivers/net/veth.ko] undefined! ERROR: "ckpt_netdev_in_init_netns" [drivers/net/veth.ko] undefined! ERROR: "ckpt_write_buffer" [drivers/net/veth.ko] undefined! ERROR: "ckpt_write_obj" [drivers/net/veth.ko] undefined! ERROR: "ckpt_obj_lookup_add" [drivers/net/veth.ko] undefined! ERROR: "ckpt_netdev_base" [drivers/net/veth.ko] undefined! ERROR: "ckpt_hdr_put" [drivers/net/macvlan.ko] undefined! ERROR: "ckpt_write_buffer" [drivers/net/macvlan.ko] undefined! ERROR: "ckpt_write_obj" [drivers/net/macvlan.ko] undefined! ERROR: "ckpt_netdev_base" [drivers/net/macvlan.ko] undefined! ERROR: "ckpt_debug_level" [drivers/net/macvlan.ko] undefined! ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <20100315032347.GA4707-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>]
* Re: ckpt-v20-rc1 [not found] ` <20100315032347.GA4707-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> @ 2010-03-15 3:33 ` Oren Laadan [not found] ` <4B9DAA71.2000808-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> 2010-03-15 4:58 ` [PATCH] c/r: export key symbols to enable c/r from kernel modules Oren Laadan 1 sibling, 1 reply; 6+ messages in thread From: Oren Laadan @ 2010-03-15 3:33 UTC (permalink / raw) To: Serge E. Hallyn; +Cc: Linux Containers, Dan Smith Serge E. Hallyn wrote: > Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): >> I pushed all the recent patches to ckpt-v19-dev (except for Matt's code >> order series). It includes the recent post of netdev/netns. >> >> Feel free to yell if I left out your patch unjustifiably. >> >> Also pushed ckpt-v20-rc1 which is a clean patchset of the same and >> also rebased to 2.6.33, lightly tested here. >> >> The goal is to get ckpt-v20 in 1-2 days and post the series on LKML >> following up on Andrew's reply. >> >> Before that, I'd like to validate that there are no regressions, and >> apply some netns/netdev cleanups (in particular, the kernel doesn't >> compile when NETNS isn't configured) >> >> Let's give it a quick test drive. >> >> Oren. >> > > hmm, > > ERROR: "ckpt_obj_lookup" [drivers/net/veth.ko] undefined! > ERROR: "do_ckpt_msg" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_hdr_put" [drivers/net/veth.ko] undefined! > ERROR: "checkpoint_obj" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_netdev_in_init_netns" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_write_buffer" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_write_obj" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_obj_lookup_add" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_netdev_base" [drivers/net/veth.ko] undefined! > ERROR: "ckpt_hdr_put" [drivers/net/macvlan.ko] undefined! > ERROR: "ckpt_write_buffer" [drivers/net/macvlan.ko] undefined! > ERROR: "ckpt_write_obj" [drivers/net/macvlan.ko] undefined! > ERROR: "ckpt_netdev_base" [drivers/net/macvlan.ko] undefined! > ERROR: "ckpt_debug_level" [drivers/net/macvlan.ko] undefined! Oh... I didn't test with kernel modules. This required export symbol - will send a patch promptly. Some (the last two) are because NETNS isn't configured ? I'm a bit concerned that the netns/netdev patches were not given enough prime time to filter compilation/config issues. Dan: do you think they are ready for the coming patch bomb that we intend to send to LKML ? Oren. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <4B9DAA71.2000808-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>]
* Re: ckpt-v20-rc1 [not found] ` <4B9DAA71.2000808-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> @ 2010-03-15 3:38 ` Serge E. Hallyn 0 siblings, 0 replies; 6+ messages in thread From: Serge E. Hallyn @ 2010-03-15 3:38 UTC (permalink / raw) To: Oren Laadan; +Cc: Linux Containers, Dan Smith Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): > > > > Serge E. Hallyn wrote: > > Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): > >> I pushed all the recent patches to ckpt-v19-dev (except for Matt's code > >> order series). It includes the recent post of netdev/netns. > >> > >> Feel free to yell if I left out your patch unjustifiably. > >> > >> Also pushed ckpt-v20-rc1 which is a clean patchset of the same and > >> also rebased to 2.6.33, lightly tested here. > >> > >> The goal is to get ckpt-v20 in 1-2 days and post the series on LKML > >> following up on Andrew's reply. > >> > >> Before that, I'd like to validate that there are no regressions, and > >> apply some netns/netdev cleanups (in particular, the kernel doesn't > >> compile when NETNS isn't configured) > >> > >> Let's give it a quick test drive. > >> > >> Oren. > >> > > > > hmm, > > > > ERROR: "ckpt_obj_lookup" [drivers/net/veth.ko] undefined! > > ERROR: "do_ckpt_msg" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_hdr_put" [drivers/net/veth.ko] undefined! > > ERROR: "checkpoint_obj" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_netdev_in_init_netns" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_write_buffer" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_write_obj" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_obj_lookup_add" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_netdev_base" [drivers/net/veth.ko] undefined! > > ERROR: "ckpt_hdr_put" [drivers/net/macvlan.ko] undefined! > > ERROR: "ckpt_write_buffer" [drivers/net/macvlan.ko] undefined! > > ERROR: "ckpt_write_obj" [drivers/net/macvlan.ko] undefined! > > ERROR: "ckpt_netdev_base" [drivers/net/macvlan.ko] undefined! > > ERROR: "ckpt_debug_level" [drivers/net/macvlan.ko] undefined! > > Oh... I didn't test with kernel modules. This required export > symbol - will send a patch promptly. > > Some (the last two) are because NETNS isn't configured ? No, NETNS is configured. If you can push to git i'll pull and keep testing (applying patches i become afraid i'm not running a 'true' test of what you'll be sending out) thanks, -serge ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] c/r: export key symbols to enable c/r from kernel modules [not found] ` <20100315032347.GA4707-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> 2010-03-15 3:33 ` ckpt-v20-rc1 Oren Laadan @ 2010-03-15 4:58 ` Oren Laadan 1 sibling, 0 replies; 6+ messages in thread From: Oren Laadan @ 2010-03-15 4:58 UTC (permalink / raw) To: Serge Hallyn; +Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA This will be important for modules that implement checkpoint-restart logic, e.g. network devices. (This intentionally does not fix the exports missing from netdev - I expect that to be part a seperate cleanup patchset) Signed-off-by: Oren Laadan <orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org> --- checkpoint/checkpoint.c | 4 ++++ checkpoint/objhash.c | 8 ++++++++ checkpoint/restart.c | 8 ++++++++ checkpoint/sys.c | 6 ++++++ 4 files changed, 26 insertions(+), 0 deletions(-) diff --git a/checkpoint/checkpoint.c b/checkpoint/checkpoint.c index 466f594..4359106 100644 --- a/checkpoint/checkpoint.c +++ b/checkpoint/checkpoint.c @@ -41,6 +41,7 @@ int ckpt_write_obj(struct ckpt_ctx *ctx, struct ckpt_hdr *h) _ckpt_debug(CKPT_DRW, "type %d len %d\n", h->type, h->len); return ckpt_kwrite(ctx, h, h->len); } +EXPORT_SYMBOL(ckpt_write_obj); /** * ckpt_write_obj_type - write an object (from a pointer) @@ -73,6 +74,7 @@ int ckpt_write_obj_type(struct ckpt_ctx *ctx, void *ptr, int len, int type) _ckpt_hdr_put(ctx, h, sizeof(*h)); return ret; } +EXPORT_SYMBOL(ckpt_write_obj_type); /** * ckpt_write_buffer - write an object of type buffer @@ -84,6 +86,7 @@ int ckpt_write_buffer(struct ckpt_ctx *ctx, void *ptr, int len) { return ckpt_write_obj_type(ctx, ptr, len, CKPT_HDR_BUFFER); } +EXPORT_SYMBOL(ckpt_write_buffer); /** * ckpt_write_string - write an object of type string @@ -95,6 +98,7 @@ int ckpt_write_string(struct ckpt_ctx *ctx, char *str, int len) { return ckpt_write_obj_type(ctx, str, len, CKPT_HDR_STRING); } +EXPORT_SYMBOL(ckpt_write_string); /*********************************************************************** * Checkpoint diff --git a/checkpoint/objhash.c b/checkpoint/objhash.c index 8ca2664..e487ffc 100644 --- a/checkpoint/objhash.c +++ b/checkpoint/objhash.c @@ -813,6 +813,7 @@ int ckpt_obj_lookup(struct ckpt_ctx *ctx, void *ptr, enum obj_type type) ckpt_debug("%s objref %d\n", obj->ops->obj_name, obj->objref); return obj ? obj->objref : 0; } +EXPORT_SYMBOL(ckpt_obj_lookup); static inline int obj_reverse_leak(struct ckpt_ctx *ctx, struct ckpt_obj *obj) { @@ -856,6 +857,7 @@ int ckpt_obj_lookup_add(struct ckpt_ctx *ctx, void *ptr, obj->flags |= CKPT_OBJ_VISITED; return obj->objref; } +EXPORT_SYMBOL(ckpt_obj_lookup_add); /** * ckpt_obj_reserve - reserve an objref @@ -869,6 +871,7 @@ int ckpt_obj_reserve(struct ckpt_ctx *ctx) { return obj_alloc_objref(ctx); } +EXPORT_SYMBOL(ckpt_obj_reserve); /** * checkpoint_obj - if not already in hash, add object and checkpoint @@ -919,6 +922,7 @@ int checkpoint_obj(struct ckpt_ctx *ctx, void *ptr, enum obj_type type) obj->flags |= CKPT_OBJ_VISITED; return (ret < 0 ? ret : obj->objref); } +EXPORT_SYMBOL(checkpoint_obj); /** * ckpt_obj_visit - mark object as visited @@ -951,6 +955,7 @@ int ckpt_obj_visit(struct ckpt_ctx *ctx, void *ptr, enum obj_type type) } return 0; } +EXPORT_SYMBOL(ckpt_obj_visit); /* increment the 'users' count of an object */ static void ckpt_obj_users_inc(struct ckpt_ctx *ctx, void *ptr, int increment) @@ -1152,6 +1157,7 @@ int ckpt_obj_insert(struct ckpt_ctx *ctx, void *ptr, ckpt_debug("%s objref %d\n", obj->ops->obj_name, objref); return obj->objref; } +EXPORT_SYMBOL(ckpt_obj_insert); /** * ckpt_obj_try_fetch - fetch an object by its identifier @@ -1176,6 +1182,7 @@ void *ckpt_obj_try_fetch(struct ckpt_ctx *ctx, int objref, enum obj_type type) return obj->ptr; return ERR_PTR(-ENOMSG); } +EXPORT_SYMBOL(ckpt_obj_try_fetch); void *ckpt_obj_fetch(struct ckpt_ctx *ctx, int objref, enum obj_type type) { @@ -1186,6 +1193,7 @@ void *ckpt_obj_fetch(struct ckpt_ctx *ctx, int objref, enum obj_type type) objref, type); return ret; } +EXPORT_SYMBOL(ckpt_obj_fetch); /* * checkpoint a security context string. This is done by diff --git a/checkpoint/restart.c b/checkpoint/restart.c index 696e4a2..6a9644d 100644 --- a/checkpoint/restart.c +++ b/checkpoint/restart.c @@ -323,6 +323,7 @@ int _ckpt_read_obj_type(struct ckpt_ctx *ctx, void *ptr, int len, int type) return -EINVAL; return h.len - sizeof(h); } +EXPORT_SYMBOL(_ckpt_read_obj_type); /** * _ckpt_read_buffer - read an object of type buffer (set length) @@ -339,6 +340,7 @@ int _ckpt_read_buffer(struct ckpt_ctx *ctx, void *ptr, int len) BUG_ON(!len); return _ckpt_read_obj_type(ctx, ptr, len, CKPT_HDR_BUFFER); } +EXPORT_SYMBOL(_ckpt_read_buffer); /** * _ckpt_read_string - read an object of type string (set length) @@ -360,6 +362,7 @@ int _ckpt_read_string(struct ckpt_ctx *ctx, void *ptr, int len) ((char *) ptr)[len - 1] = '\0'; /* always play it safe */ return 0; } +EXPORT_SYMBOL(_ckpt_read_string); /** * ckpt_read_obj - allocate and read an object (ckpt_hdr followed by payload) @@ -430,6 +433,7 @@ void *ckpt_read_obj_type(struct ckpt_ctx *ctx, int len, int type) return h; } +EXPORT_SYMBOL(ckpt_read_obj_type); /** * ckpt_read_buf_type - allocate and read an object of some type (flxible) @@ -464,6 +468,7 @@ void *ckpt_read_buf_type(struct ckpt_ctx *ctx, int max, int type) return h; } +EXPORT_SYMBOL(ckpt_read_buf_type); /** * ckpt_read_payload - allocate and read the payload of an object @@ -499,6 +504,7 @@ int ckpt_read_payload(struct ckpt_ctx *ctx, void **ptr, int max, int type) return len; } +EXPORT_SYMBOL(ckpt_read_payload); /** * ckpt_read_string - allocate and read a string (variable length) @@ -518,6 +524,7 @@ char *ckpt_read_string(struct ckpt_ctx *ctx, int max) str[len - 1] = '\0'; /* always play it safe */ return str; } +EXPORT_SYMBOL(ckpt_read_string); /** * ckpt_read_consume - consume the next object of expected type @@ -544,6 +551,7 @@ int ckpt_read_consume(struct ckpt_ctx *ctx, int len, int type) ckpt_hdr_put(ctx, h); return ret; } +EXPORT_SYMBOL(ckpt_read_consume); /*********************************************************************** * Restart diff --git a/checkpoint/sys.c b/checkpoint/sys.c index fe85ca7..9e9df9b 100644 --- a/checkpoint/sys.c +++ b/checkpoint/sys.c @@ -130,6 +130,7 @@ void *ckpt_hdr_get(struct ckpt_ctx *ctx, int len) { return kzalloc(len, GFP_KERNEL); } +EXPORT_SYMBOL(ckpt_hdr_get); /** * _ckpt_hdr_put - free a hdr allocated with ckpt_hdr_get @@ -143,6 +144,7 @@ void _ckpt_hdr_put(struct ckpt_ctx *ctx, void *ptr, int len) { kfree(ptr); } +EXPORT_SYMBOL(_ckpt_hdr_put); /** * ckpt_hdr_put - free a hdr allocated with ckpt_hdr_get @@ -156,6 +158,7 @@ void ckpt_hdr_put(struct ckpt_ctx *ctx, void *ptr) struct ckpt_hdr *h = (struct ckpt_hdr *) ptr; _ckpt_hdr_put(ctx, ptr, h->len); } +EXPORT_SYMBOL(ckpt_hdr_put); /** * ckpt_hdr_get_type - get a hdr of certain size @@ -176,6 +179,7 @@ void *ckpt_hdr_get_type(struct ckpt_ctx *ctx, int len, int type) h->len = len; return h; } +EXPORT_SYMBOL(ckpt_hdr_get_type); #define DUMMY_LSM_INFO "dummy" @@ -547,6 +551,7 @@ void do_ckpt_msg(struct ckpt_ctx *ctx, int err, char *fmt, ...) if (err) ckpt_set_error(ctx, err); } +EXPORT_SYMBOL(do_ckpt_msg); /** * walk_task_subtree: iterate through a task's descendants @@ -698,6 +703,7 @@ long do_sys_restart(pid_t pid, int fd, unsigned long flags, int logfd) /* FIX: allow to change during runtime */ unsigned long __read_mostly ckpt_debug_level = CKPT_DDEFAULT; +EXPORT_SYMBOL(ckpt_debug_level); static __init int ckpt_debug_setup(char *s) { -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-15 4:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-15 2:48 ckpt-v20-rc1 Oren Laadan
[not found] ` <4B9DA00C.3000001-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2010-03-15 2:52 ` ckpt-v20-rc1 Oren Laadan
2010-03-15 3:23 ` ckpt-v20-rc1 Serge E. Hallyn
[not found] ` <20100315032347.GA4707-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2010-03-15 3:33 ` ckpt-v20-rc1 Oren Laadan
[not found] ` <4B9DAA71.2000808-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2010-03-15 3:38 ` ckpt-v20-rc1 Serge E. Hallyn
2010-03-15 4:58 ` [PATCH] c/r: export key symbols to enable c/r from kernel modules Oren Laadan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox