On 11/01/2016 03:47 PM, Christoph Hellwig wrote:
On Mon, Oct 31, 2016 at 06:59:28PM +0100, Hannes Reinecke wrote:
Switch to using scsi_execute_req_flags() instead of using the
block primitives.
__scsi_execute adds RQF_QUIET and RQF_PREEMPT to the request flags, which
would be a change in behavior. A little analysis on why that's safe or
even desireable would be nice. (This also applies to the other two patches
I think).
Hmm. Yeah, guess I'll need to reconcile that.
static void release_controller(struct kref *kref)
static int get_lun_info(struct scsi_device *sdev, struct rdac_dh_data *h,
char *array_name, u8 *array_id)
{
+ int err = SCSI_DH_IO, i;
struct c8_inquiry *inqp;
+ if (!scsi_get_vpd_page(sdev, 0xC8, (unsigned char *)h,
+ sizeof(struct c8_inquiry))) {
This looks completely bogus to me - h is a struct rdac_dh_data pointer,
which is an in-kernel data structure that scsi_get_vpd_page would
scramble over.
Indeed, you are right. I'll be fixing it up.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
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