Re: [PATCH] nbd: ratelimit error msgs after socket close

From: Markus Pargmann
Date: Fri Feb 05 2016 - 03:00:11 EST


Hi Dan,

On Tuesday, February 02, 2016 12:07:04 PM Dan Streetman wrote:
> Hi Markus,
>
> just checking if you had any comments on this patch?
>
> On Thu, Jan 14, 2016 at 1:42 PM, Dan Streetman
> <dan.streetman@xxxxxxxxxxxxx> 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 <dan.streetman@xxxxxxxxxxxxx>

Sorry for the delay. I applied the patch.

Thanks,

Markus

> > ---
> > 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
> >
>

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

Attachment: signature.asc
Description: This is a digitally signed message part.