From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751735AbbEKRXp (ORCPT ); Mon, 11 May 2015 13:23:45 -0400 Received: from shards.monkeyblade.net ([149.20.54.216]:35758 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751103AbbEKRXm (ORCPT ); Mon, 11 May 2015 13:23:42 -0400 Date: Mon, 11 May 2015 13:23:39 -0400 (EDT) Message-Id: <20150511.132339.403868463230045095.davem@davemloft.net> To: tj@kernel.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, penguin-kernel@I-love.SAKURA.ne.jp, sd@queasysnail.net Subject: Re: [PATCH 4/4] netconsole: implement extended console support From: David Miller In-Reply-To: <1431362494-9874-5-git-send-email-tj@kernel.org> References: <1431362494-9874-1-git-send-email-tj@kernel.org> <1431362494-9874-5-git-send-email-tj@kernel.org> X-Mailer: Mew version 6.6 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 11 May 2015 10:23:42 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tejun Heo Date: Mon, 11 May 2015 12:41:34 -0400 > + /* need to insert extra header fields, detect header and body */ > + header = msg; > + body = memchr(msg, ';', msg_len); > + if (WARN_ON_ONCE(!body)) > + return; > + > + header_len = body - header; > + body_len = msg_len - header_len - 1; > + body++; > + > + /* > + * Transfer multiple chunks with the following extra header. > + * "ncfrag=/" > + */ > + memcpy(buf, header, header_len); > + > + while (offset < body_len) { > + int this_header = header_len; > + int this_chunk; > + > + this_header += scnprintf(buf + this_header, > + sizeof(buf) - this_header, > + ",ncfrag=%d/%d;", offset, body_len); > + Hmmm, do you intend ncfrag= to be amongst the other metadata in the first fragment? The way I read the code above it's going to be: ,,,;,ncfrag=x/y; If you intend to keep all the metadata, including the ncfrag bit, together, you probably need to clip off the initial semicolon, so that it looks like: ,,,,ncfrag=x/y;