lkml.org 
[lkml]   [2021]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 014/127] scsi: core: Avoid printing an error if target_alloc() returns -ENXIO
    Date
    From: Sreekanth Reddy <sreekanth.reddy@broadcom.com>

    [ Upstream commit 70edd2e6f652f67d854981fd67f9ad0f1deaea92 ]

    Avoid printing a 'target allocation failed' error if the driver
    target_alloc() callback function returns -ENXIO. This return value
    indicates that the corresponding H:C:T:L entry is empty.

    Removing this error reduces the scan time if the user issues SCAN_WILD_CARD
    scan operation through sysfs parameter on a host with a lot of empty
    H:C:T:L entries.

    Avoiding the printk on -ENXIO matches the behavior of the other callback
    functions during scanning.

    Link: https://lore.kernel.org/r/20210726115402.1936-1-sreekanth.reddy@broadcom.com
    Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/scsi/scsi_scan.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
    index 12f54571b83e..f0367115632b 100644
    --- a/drivers/scsi/scsi_scan.c
    +++ b/drivers/scsi/scsi_scan.c
    @@ -471,7 +471,8 @@ static struct scsi_target *scsi_alloc_target(struct device *parent,
    error = shost->hostt->target_alloc(starget);

    if(error) {
    - dev_printk(KERN_ERR, dev, "target allocation failed, error %d\n", error);
    + if (error != -ENXIO)
    + dev_err(dev, "target allocation failed, error %d\n", error);
    /* don't want scsi_target_reap to do the final
    * put because it will be under the host lock */
    scsi_target_destroy(starget);
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-08-24 18:57    [W:4.205 / U:0.972 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site