Re: [PATCH 05/10] scsi: use per-cpu buffer for formatting sense

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

 



> +#define scmd_format_header(b, l, d, t) \
> +	sdev_format_header(b, l, (d) ? (d)->disk_name : NULL, t)

I'd rather have a

static inline const char *scmd_name(struct scsi_cmnd *scmd)
{
	return scmd->request->rq_disk ?
		scmd->request->rq_disk->disk_name : NULL;
}

helper and use that directlu, which also gets rid of all the
local gendisk variables.

> +	if (scsi_sense_is_deferred(sshdr))
> +		off += scnprintf(buffer + off, buf_len - off, "[deferred] ");
> +	else
> +		off += scnprintf(buffer + off, buf_len - off, "[current] ");

	off += scnprintf(buffer + off, buf_len - off,
		scsi_sense_is_deferred(sshdr) ? "[deferred] " : "[current] ");

> +{
> +	struct scsi_sense_hdr sshdr;
> +
> +	if (!scsi_normalize_sense(sense_buffer, sense_len, &sshdr)) {
> +		int i;
> +
> +		for (i = 0; i < sense_len; i += 16) {
> +			char *logbuf;
> +			int len = min(sense_len - i, 16);
> +			size_t off, logbuf_len;
> +
> +			logbuf = scsi_log_reserve_buffer(&logbuf_len);
> +			if (!logbuf)
> +				break;
> +			off = sdev_format_header(logbuf, logbuf_len,
> +						 name, tag);
> +			hex_dump_to_buffer(&sense_buffer[i], len, 16, 1,
> +					   logbuf + off, logbuf_len - off,
> +					   false);
> +			dev_printk(KERN_INFO, &sdev->sdev_gendev, logbuf);
> +			scsi_log_release_buffer(logbuf);
> +		}
> +		return;

Keeping the code inside the if in a separate helper would probably be a
lot more readable.

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