[PATCH] scsi_scan: Cope with kthread_run failing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oops.  I fail to drive git-send-email properly again.
James, when you're committing this, please use the
Subject: [PATCH] scsi_scan: Cope with kthread_run failing

On Mon, Aug 20, 2007 at 09:18:48AM -0600, Matthew Wilcox wrote:
> If kthread_run failed, we would fail to scan the host, and leak the
> allocated async_scan_data.  Since using a separate thread is just an
> optimisation, do the scan synchronously if we fail to spawn a thread.
> 
> Signed-off-by: Matthew Wilcox <matthew@xxxxxx>
> 
> diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> index 309b224..a001ca1 100644
> --- a/drivers/scsi/scsi_scan.c
> +++ b/drivers/scsi/scsi_scan.c
> @@ -1799,6 +1799,7 @@ static int do_scan_async(void *_data)
>   **/
>  void scsi_scan_host(struct Scsi_Host *shost)
>  {
> +	struct task_struct *p;
>  	struct async_scan_data *data;
>  
>  	if (strncmp(scsi_scan_type, "none", 4) == 0)
> @@ -1810,7 +1811,9 @@ void scsi_scan_host(struct Scsi_Host *shost)
>  		return;
>  	}
>  
> -	kthread_run(do_scan_async, data, "scsi_scan_%d", shost->host_no);
> +	p = kthread_run(do_scan_async, data, "scsi_scan_%d", shost->host_no);
> +	if (IS_ERR(p))
> +		do_scan_async(data);
>  }
>  EXPORT_SYMBOL(scsi_scan_host);
>  
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux