From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oren Laadan Subject: Re: [RFC v14][PATCH 04/54] General infrastructure for checkpoint restart Date: Wed, 29 Apr 2009 13:49:33 -0400 Message-ID: <49F8932D.4040506@cs.columbia.edu> References: <1240961064-13991-1-git-send-email-orenl@cs.columbia.edu> <1240961064-13991-5-git-send-email-orenl@cs.columbia.edu> <20090429005826.GA23583@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20090429005826.GA23583-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: "Serge E. Hallyn" Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Alexey Dobriyan , Dave Hansen List-Id: containers.vger.kernel.org Serge E. Hallyn wrote: > Quoting Oren Laadan (orenl-eQaUEPhvms7ENvBUuze7eA@public.gmane.org): > ... >> +static int checkpoint_write_header(struct ckpt_ctx *ctx) >> +{ >> + struct ckpt_hdr_header *h; >> + struct new_utsname *uts; >> + struct timeval ktv; >> + int ret; >> + >> + h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_HEADER); > > ... >> + struct ckpt_hdr_tail *h; >> + int ret; >> + >> + h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_TAIL); > > ... >> + struct ckpt_hdr_task *h; >> + int ret; >> + >> + h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_TASK); > > ... >> +/** >> + * ckpt_hdr_get_type - get a hdr of certain size >> + * @ctx: checkpoint context >> + * @len: number of bytes to reserve >> + * >> + * Returns pointer to reserved space on hbuf >> + */ >> +void *ckpt_hdr_get_type(struct ckpt_ctx *ctx, int len, int type) >> +{ > > Observation (based on all callers in later patches as well): the second > argument appears to be superfluous? You should be able to determine > based on type. Not always: for instance, ckpt_hdr_file_xxxx all use CKPT_HDR_FILE, but have different sizes (all share a common 'struct ckpt_hdr_file', but actual payload differs). (Besides, that would require adding a big table to decide the length based on a type... which I don't really like). Oren. > > (The callers would look much friendlier without the 2nd arg imo)