All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantin Krotov <kkv@clodo.ru>
To: Bart Van Assche <bart.vanassche@sandisk.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: threads scsi_eh_ and scsi_tmf_ don't die when ib_srp reconnect
Date: Fri, 14 Aug 2015 12:06:05 +0300	[thread overview]
Message-ID: <55CDAF7D.3050301@clodo.ru> (raw)
In-Reply-To: <55CB796D.3030709@sandisk.com>



12.08.2015 19:50, Bart Van Assche пишет:
> On 08/11/2015 10:15 PM, Konstantin Krotov wrote:
>> 11.08.2015 23:28, Bart Van Assche пишет:
>>> Are you using a kernel from Greg KH's stable repository or another kernel ? And to which values were the
>> yes, sources from upstream, 3.19.1
>
> Hello Konstantin,
>
> Can you test the patch below ? That patch not only applies to the v4.2-rc6
> kernel but also to the ib_srp-backport driver.
>
> Thanks,
>
> Bart.
>
> Subject: [PATCH] IB/srp: Stop the scsi_eh_<n> and scsi_tmf_<n> threads if login fails
>
> scsi_host_alloc() not only allocates memory for a SCSI host but also
> creates the scsi_eh_<n> kernel thread and the scsi_tmf_<n> workqueue.
> Stop these threads if login fails by calling scsi_host_put().
>
> Reported-by: Konstantin Krotov <kkv@clodo.ru>
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Cc: stable <stable@vger.kernel.org>
> ---
>   drivers/infiniband/ulp/srp/ib_srp.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
>
> diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
> index f962267..b5f9456 100644
> --- a/drivers/infiniband/ulp/srp/ib_srp.c
> +++ b/drivers/infiniband/ulp/srp/ib_srp.c
> @@ -2765,6 +2765,13 @@ static int srp_sdev_count(struct Scsi_Host *host)
>   	return c;
>   }
>
> +/*
> + * Return values:
> + * < 0 upon failure. Caller is responsible for SRP target port cleanup.
> + * 0 and target->state == SRP_TARGET_REMOVED if the target port will be removed
> + *    asynchronously.
> + * 0 and target->state != SRP_TARGET_REMOVED upon success.
> + */
>   static int srp_add_target(struct srp_host *host, struct srp_target_port *target)
>   {
>   	struct srp_rport_identifiers ids;
> @@ -3316,6 +3323,7 @@ err_disconnect:
>   	}
>
>   	kfree(target->ch);
> +	scsi_host_put(target->scsi_host);
>   	goto out;
>   }
>
>
Hello Bart

I tested the patch, the problem is not reproduced.

Thanks.

-- 
WBR
Konstantin V. Krotov

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-08-14  9:06 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-10 15:18 threads scsi_eh_ and scsi_tmf_ don't die when ib_srp reconnect Konstantin Krotov
2015-08-10 15:30 ` Bart Van Assche
2015-08-11 13:40   ` Konstantin Krotov
2015-08-11 20:28     ` Bart Van Assche
2015-08-12  5:15       ` Konstantin Krotov
2015-08-12 16:50         ` Bart Van Assche
2015-08-14  9:06           ` Konstantin Krotov [this message]
2015-08-14 16:10             ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55CDAF7D.3050301@clodo.ru \
    --to=kkv@clodo.ru \
    --cc=bart.vanassche@sandisk.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.