Lines Matching refs:sdev
78 struct scsi_device *sdev; member
89 static inline struct alua_dh_data *get_alua_data(struct scsi_device *sdev) in get_alua_data() argument
91 return container_of(sdev->scsi_dh_data, struct alua_dh_data, dh_data); in get_alua_data()
109 static struct request *get_alua_req(struct scsi_device *sdev, in get_alua_req() argument
113 struct request_queue *q = sdev->request_queue; in get_alua_req()
118 sdev_printk(KERN_INFO, sdev, in get_alua_req()
126 sdev_printk(KERN_INFO, sdev, in get_alua_req()
143 static int submit_vpd_inquiry(struct scsi_device *sdev, struct alua_dh_data *h) in submit_vpd_inquiry() argument
148 rq = get_alua_req(sdev, h->buff, h->bufflen, READ); in submit_vpd_inquiry()
165 sdev_printk(KERN_INFO, sdev, in submit_vpd_inquiry()
180 static unsigned submit_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, in submit_rtpg() argument
186 rq = get_alua_req(sdev, h->buff, h->bufflen, READ); in submit_rtpg()
208 sdev_printk(KERN_INFO, sdev, in submit_rtpg()
247 err = alua_check_sense(h->sdev, &sense_hdr); in stpg_endio()
252 sdev_printk(KERN_INFO, h->sdev, in stpg_endio()
262 sdev_printk(KERN_INFO, h->sdev, in stpg_endio()
288 struct scsi_device *sdev = h->sdev; in submit_stpg() local
296 rq = get_alua_req(sdev, h->buff, stpg_len, WRITE); in submit_stpg()
325 static int alua_check_tpgs(struct scsi_device *sdev, struct alua_dh_data *h) in alua_check_tpgs() argument
329 h->tpgs = scsi_device_tpgs(sdev); in alua_check_tpgs()
332 sdev_printk(KERN_INFO, sdev, in alua_check_tpgs()
337 sdev_printk(KERN_INFO, sdev, "%s: supports explicit TPGS\n", in alua_check_tpgs()
341 sdev_printk(KERN_INFO, sdev, "%s: supports implicit TPGS\n", in alua_check_tpgs()
346 sdev_printk(KERN_INFO, sdev, "%s: not supported\n", in alua_check_tpgs()
362 static int alua_vpd_inquiry(struct scsi_device *sdev, struct alua_dh_data *h) in alua_vpd_inquiry() argument
369 err = submit_vpd_inquiry(sdev, h); in alua_vpd_inquiry()
379 sdev_printk(KERN_WARNING, sdev, in alua_vpd_inquiry()
414 sdev_printk(KERN_INFO, sdev, in alua_vpd_inquiry()
421 sdev_printk(KERN_INFO, sdev, in alua_vpd_inquiry()
451 static int alua_check_sense(struct scsi_device *sdev, in alua_check_sense() argument
476 if (sdev->allow_restart && in alua_check_sense()
537 static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_for_transition) in alua_rtpg() argument
554 err = submit_rtpg(sdev, h, rtpg_ext_hdr_req); in alua_rtpg()
577 err = alua_check_sense(sdev, &sense_hdr); in alua_rtpg()
580 sdev_printk(KERN_INFO, sdev, in alua_rtpg()
595 sdev_printk(KERN_WARNING, sdev, in alua_rtpg()
610 sdev_printk(KERN_INFO, sdev, in alua_rtpg()
633 sdev_printk(KERN_INFO, sdev, in alua_rtpg()
681 static int alua_initialize(struct scsi_device *sdev, struct alua_dh_data *h) in alua_initialize() argument
685 err = alua_check_tpgs(sdev, h); in alua_initialize()
689 err = alua_vpd_inquiry(sdev, h); in alua_initialize()
693 err = alua_rtpg(sdev, h, 0); in alua_initialize()
709 static int alua_set_params(struct scsi_device *sdev, const char *params) in alua_set_params() argument
711 struct alua_dh_data *h = get_alua_data(sdev); in alua_set_params()
746 static int alua_activate(struct scsi_device *sdev, in alua_activate() argument
749 struct alua_dh_data *h = get_alua_data(sdev); in alua_activate()
753 err = alua_rtpg(sdev, h, 1); in alua_activate()
805 static int alua_prep_fn(struct scsi_device *sdev, struct request *req) in alua_prep_fn() argument
807 struct alua_dh_data *h = get_alua_data(sdev); in alua_prep_fn()
822 static bool alua_match(struct scsi_device *sdev) in alua_match() argument
824 return (scsi_device_tpgs(sdev) != 0); in alua_match()
831 static struct scsi_dh_data *alua_bus_attach(struct scsi_device *sdev) in alua_bus_attach() argument
845 h->sdev = sdev; in alua_bus_attach()
847 err = alua_initialize(sdev, h); in alua_bus_attach()
851 sdev_printk(KERN_NOTICE, sdev, "%s: Attached\n", ALUA_DH_NAME); in alua_bus_attach()
862 static void alua_bus_detach(struct scsi_device *sdev) in alua_bus_detach() argument
864 struct alua_dh_data *h = get_alua_data(sdev); in alua_bus_detach()