diff mbox

[Trusty/Utopic/Vivid/Wily/Xenial] (upstream) nbd: ratelimit error msgs after socket close

Message ID 1454969282-19143-1-git-send-email-dan.streetman@canonical.com
State New
Headers show

Commit Message

Dan Streetman Feb. 8, 2016, 10:08 p.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1505564

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@canonical.com>
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
(cherry-picked from da6ccaaa in git://git.pengutronix.de/git/mpa/linux-nbd.git)

---
 drivers/block/nbd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Kamal Mostafa Feb. 9, 2016, 4:59 p.m. UTC | #1
ACK. Applies:
 - with fuzz to T, U, V
 - directly to W, X

On application, patch title should (?) be changed to:

  UBUNTU: SAUCE: nbd: ratelimit error msgs after socket close

(since the patch has not yet landed in mainline).

 -Kamal
Andy Whitcroft Feb. 9, 2016, 5:42 p.m. UTC | #2
On Mon, Feb 08, 2016 at 05:08:02PM -0500, Dan Streetman wrote:
> BugLink: http://bugs.launchpad.net/bugs/1505564
> 
> 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@canonical.com>
> Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> (cherry-picked from da6ccaaa in git://git.pengutronix.de/git/mpa/linux-nbd.git)

Looks to be applied upstream ndb tree.  This above line should be fixed
to match the standard form:

(cherry-picked from commit <full sha> git://...)

>  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 deef152..b05226d 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);
> -- 

Acked-by: Andy Whitcroft <apw@canonical.com>
Kamal Mostafa Feb. 9, 2016, 6:46 p.m. UTC | #3
Applied to [T,U,V,W,X] master-next
("UBUNTU: SAUCE: nbd: ratelimit error msgs after socket close")

 -Kamal
diff mbox

Patch

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index deef152..b05226d 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);