On Wed, 2017-08-09 at 12:50 +0200, Hannes Reinecke wrote:
> +requires() {
> +    if modinfo scsi_debug | grep -q inq_vendor ; then
> +     return 0
> +    fi
> +    return 1
> +}

How about changing the above four statements into the following, which is
shorter and more robust?

modinfo scsi_debug | grep -q '^parm:[[:blank:]]*inq_vendor:'

> +     modprobe scsi_debug inq_vendor="$vendor" inq_product="$model"
> +     host=$(lsscsi -H | sed -n 's/.\([0-9]*\).*scsi_debug/\1/p')

Not all systems have lsscsi. How about using 
/sys/bus/pseudo/drivers/scsi_debug/adapter0/host*
instead?

> +     rmmod scsi_debug

Please check the rmmod return value to catch unload failures due to a
user space process having opened the SCSI device created by scsi_debug.

Thanks,

Bart.

Reply via email to