Re: [PATCH v6] ibmvscsis: Initial commit of IBM VSCSI Tgt Driver

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

 



On Thu, 2016-06-16 at 16:20 -0500, Bryant G. Ly wrote:
> This driver is a pick up of the old IBM VIO scsi Target Driver
> that was started by Nick and Fujita 2-4 years ago.
> http://comments.gmane.org/gmane.linux.scsi/90119

(style trivia only, nothing important enough to force a respin
 but nice to fix one day)

Please use git format-patch -M so file renames are more obvious.

> diff --git a/MAINTAINERS b/MAINTAINERS
[]
> +IBM Power Virtual SCSI Device Target Driver
> +M:	Bryant G. Ly <bryantly@xxxxxxxxxxxxxxxxxx>
> +M:	Michael Cyr <mikecyr@xxxxxxxxxxxxxxxxxx>
> +L:	linux-scsi@xxxxxxxxxxxxxxx
> +L:	target-devel@xxxxxxxxxxxxxxx
> +S:	Supportedybe 
> +F:	drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c

Maybe

F:	drivers/scsi/ibmscsi_tgt/

> +F:	drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h
> +F:	drivers/scsi/ibmvscsi_tgt/libsrp.c
> +F:	drivers/scsi/ibmvscsi_tgt/libsrp.h

and these become unnecessary

> diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
[]
> +/**
> + * ibmvscsis_establish_new_q() - Establish new CRQ queue
> + */

If you use kernel-doc comment style,
please describe the function arguments too.

> +static long ibmvscsis_establish_new_q(struct scsi_info *vscsi,  uint new_state)
> +{
> +	long rc = ADAPT_SUCCESS;
> +	uint format;
> +
> +	vscsi->flags &= PRESERVE_FLAG_FIELDS;
> +	vscsi->rsp_q_timer.timer_pops = 0;
> +	vscsi->debit = 0;
> +	vscsi->credit = 0;
> +	rc = vio_enable_interrupts(vscsi->dma_dev);
> +	if (rc) {
> +		pr_warn("reset_queue: failed to enable interrupts, rc %ld\n",
> +			rc);
> +	} else {
> +		rc = ibmvscsis_check_init_msg(vscsi, &format);
> +		if (rc) {
> +			dev_err(&vscsi->dev, "reset_queue: check_init_msg failed, rc %ld\n",
> +				rc);
> +		} else if (format == UNUSED_FORMAT &&
> +			   new_state == WAIT_CONNECTION) {
> +			rc = ibmvscsis_send_init_message(vscsi, INIT_MSG);
> +			switch (rc) {
> +			case H_SUCCESS:
> +			case H_DROPPED:
> +			case H_CLOSED:
> +				rc = ADAPT_SUCCESS;
> +				break;
> +
> +			case H_PARAMETER:
> +			case H_HARDWARE:
> +				break;
> +
> +			default:
> +				vscsi->state = UNDEFINED;
> +				rc = H_HARDWARE;
> +				break;
> +			}
> +		}
> +	}
> +
> +	return rc;
> +}

This sort of code can have indent reduced by doing

	rc = vio_enable_interrupts(...)
	if (rc) {
		pr_warn(...);
		return rc;
	}

	rc = ibmvscsis_check_init_msg(...)
	if (rc) {
		dev_err(...);
		return rc;
	}

	if (format == UNUSED_FORMAT && new_state == WAIT_CONNECTION) {
		rc = ibmvscsis_send_init_message(vscsi, INIT_MSG);	
		switch (rc) {
			etc...
		}
	}

Why use pr_warn and dev_err in the same function?
Shouldn't dev_<level> be used whenever a struct device is available?

Also it's nice to use %s, __func__ instead of directly
embedding a function like name into the format string.

A lot of the pr_debug uses seem to be function tracing
and could be eliminated altogether.

> +		/* can transition from this state to UNCONFIGURING */
> +	case UNDEFINED:

Comment style for switch / case labels could not be indented
but start at the same indent level as the case statement.


--
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