> +#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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to