[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87sk8t6msb.fsf@caffeine.danplanet.com>
Date: Mon, 22 Feb 2010 12:25:08 -0800
From: Dan Smith <danms@...ibm.com>
To: "Serge E. Hallyn" <serue@...ibm.com>
Cc: containers@...ts.osdl.org, netdev@...r.kernel.org
Subject: Re: [PATCH 3/5] Add checkpoint support for veth devices (v2)
>> + else if (!ckpt_obj_lookup(ctx, peer->nd_net, CKPT_OBJ_NET_NS)) {
>> + ret = -EINVAL;
>> + ckpt_err(ctx, ret,
>> + "Peer %s of %s not in checkpointed namespaces\n",
>> + peer->name, dev->name);
SH> I'm not sure this check does what you think it does: note that
SH> ckpt_netdev_base(), defined in the previous patch, and called
SH> higher up in this function, is going to checkpoint peer->nd_net.
SH> :)
Actually, no, ckpt_netdev_base() can't checkpoint peer->nd_net because
it's device-agnostic and has no knowledge of dev->peer.
The idea here was that we checkpoint a netns when we arrive at it via
nsproxy. Doing that, we checkpoint the devices within. We encounter
a veth device, which has a peer, so we decide if:
1. We won't arrive at the peer later because it is in the init
namespace, so we checkpoint it now.
2. We will arrive at it later because the peer's netns is in the list
we've already collected, so checkpoint the peer with its namespace
3. Neither are true and we won't arrive at it later and therefore we
can't allow checkpoint to continue
#2 depends on the collect process having put all the task's netns' in
the hash ahead of time.
--
Dan Smith
IBM Linux Technology Center
email: danms@...ibm.com
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists