From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933569AbcBBRHq (ORCPT ); Tue, 2 Feb 2016 12:07:46 -0500 Received: from mail-ig0-f171.google.com ([209.85.213.171]:38287 "EHLO mail-ig0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932970AbcBBRHp (ORCPT ); Tue, 2 Feb 2016 12:07:45 -0500 MIME-Version: 1.0 In-Reply-To: <1452796952-4529-1-git-send-email-dan.streetman@canonical.com> References: <1452796952-4529-1-git-send-email-dan.streetman@canonical.com> From: Dan Streetman Date: Tue, 2 Feb 2016 12:07:04 -0500 Message-ID: Subject: Re: [PATCH] nbd: ratelimit error msgs after socket close To: Markus Pargmann , Jens Axboe Cc: nbd-general@lists.sourceforge.net, linux-kernel@vger.kernel.org, Dan Streetman , Dan Streetman Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Markus, just checking if you had any comments on this patch? On Thu, Jan 14, 2016 at 1:42 PM, Dan Streetman wrote: > Make the "Attempted send on closed socket" error messages generated in > nbd_request_handler() ratelimited. > > When the nbd socket is shutdown, the nbd_request_handler() function emits > an error message for every request remaining in its queue. If the queue > is large, this will spam a large amount of messages to the log. There's > no need for a separate error message for each request, so this patch > ratelimits it. > > In the specific case this was found, the system was virtual and the error > messages were logged to the serial port, which overwhelmed it. > > Fixes: 4d48a542b427 ("nbd: fix I/O hang on disconnected nbds") > Signed-off-by: Dan Streetman > --- > drivers/block/nbd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c > index e4c5cc1..c65d41f 100644 > --- a/drivers/block/nbd.c > +++ b/drivers/block/nbd.c > @@ -618,8 +618,8 @@ static void nbd_request_handler(struct request_queue *q) > req, req->cmd_type); > > if (unlikely(!nbd->sock)) { > - dev_err(disk_to_dev(nbd->disk), > - "Attempted send on closed socket\n"); > + dev_err_ratelimited(disk_to_dev(nbd->disk), > + "Attempted send on closed socket\n"); > req->errors++; > nbd_end_request(nbd, req); > spin_lock_irq(q->queue_lock); > -- > 2.5.0 >