wu                329 dev/softraid.c 	struct sr_workunit	*wu;
wu                351 dev/softraid.c 		wu = &sd->sd_wu[i];
wu                352 dev/softraid.c 		wu->swu_dis = sd;
wu                353 dev/softraid.c 		sr_put_wu(wu);
wu                362 dev/softraid.c 	struct sr_workunit	*wu;
wu                369 dev/softraid.c 	while ((wu = TAILQ_FIRST(&sd->sd_wu_freeq)) != NULL)
wu                370 dev/softraid.c 		TAILQ_REMOVE(&sd->sd_wu_freeq, wu, swu_link);
wu                371 dev/softraid.c 	while ((wu = TAILQ_FIRST(&sd->sd_wu_pendq)) != NULL)
wu                372 dev/softraid.c 		TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link);
wu                373 dev/softraid.c 	while ((wu = TAILQ_FIRST(&sd->sd_wu_defq)) != NULL)
wu                374 dev/softraid.c 		TAILQ_REMOVE(&sd->sd_wu_defq, wu, swu_link);
wu                381 dev/softraid.c sr_put_wu(struct sr_workunit *wu)
wu                383 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu                388 dev/softraid.c 	DNPRINTF(SR_D_WU, "%s: sr_put_wu: %p\n", DEVNAME(sd->sd_sc), wu);
wu                392 dev/softraid.c 	wu->swu_xs = NULL;
wu                393 dev/softraid.c 	wu->swu_state = SR_WU_FREE;
wu                394 dev/softraid.c 	wu->swu_ios_complete = 0;
wu                395 dev/softraid.c 	wu->swu_ios_failed = 0;
wu                396 dev/softraid.c 	wu->swu_ios_succeeded = 0;
wu                397 dev/softraid.c 	wu->swu_io_count = 0;
wu                398 dev/softraid.c 	wu->swu_blk_start = 0;
wu                399 dev/softraid.c 	wu->swu_blk_end = 0;
wu                400 dev/softraid.c 	wu->swu_collider = NULL;
wu                401 dev/softraid.c 	wu->swu_fake = 0;
wu                403 dev/softraid.c 	while ((ccb = TAILQ_FIRST(&wu->swu_ccb)) != NULL) {
wu                404 dev/softraid.c 		TAILQ_REMOVE(&wu->swu_ccb, ccb, ccb_link);
wu                407 dev/softraid.c 	TAILQ_INIT(&wu->swu_ccb);
wu                409 dev/softraid.c 	TAILQ_INSERT_TAIL(&sd->sd_wu_freeq, wu, swu_link);
wu                418 dev/softraid.c 	struct sr_workunit	*wu;
wu                423 dev/softraid.c 	wu = TAILQ_FIRST(&sd->sd_wu_freeq);
wu                424 dev/softraid.c 	if (wu) {
wu                425 dev/softraid.c 		TAILQ_REMOVE(&sd->sd_wu_freeq, wu, swu_link);
wu                426 dev/softraid.c 		wu->swu_state = SR_WU_INPROGRESS;
wu                432 dev/softraid.c 	DNPRINTF(SR_D_WU, "%s: sr_get_wu: %p\n", DEVNAME(sd->sd_sc), wu);
wu                434 dev/softraid.c 	return (wu);
wu                443 dev/softraid.c 	struct sr_workunit	*wu;
wu                458 dev/softraid.c 			wu = NULL;
wu                465 dev/softraid.c 	if ((wu = sr_get_wu(sd)) == NULL) {
wu                471 dev/softraid.c 	wu->swu_xs = xs;
wu                480 dev/softraid.c 		if (sd->sd_scsi_rw(wu))
wu                487 dev/softraid.c 		if (sd->sd_scsi_sync(wu))
wu                494 dev/softraid.c 		if (sd->sd_scsi_tur(wu))
wu                501 dev/softraid.c 		if (sd->sd_scsi_start_stop(wu))
wu                508 dev/softraid.c 		if (sd->sd_scsi_inquiry(wu))
wu                515 dev/softraid.c 		if (sd->sd_scsi_read_cap(wu))
wu                522 dev/softraid.c 		if (sd->sd_scsi_req_sense(wu))
wu                547 dev/softraid.c 	if (wu)
wu                548 dev/softraid.c 		sr_put_wu(wu);
wu               1375 dev/softraid.c sr_raid_inquiry(struct sr_workunit *wu)
wu               1377 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1378 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               1401 dev/softraid.c sr_raid_read_cap(struct sr_workunit *wu)
wu               1403 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1404 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               1418 dev/softraid.c sr_raid_tur(struct sr_workunit *wu)
wu               1420 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1444 dev/softraid.c sr_raid_request_sense(struct sr_workunit *wu)
wu               1446 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1447 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               1462 dev/softraid.c sr_raid_start_stop(struct sr_workunit *wu)
wu               1464 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1465 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               1496 dev/softraid.c sr_raid_sync(struct sr_workunit *wu)
wu               1498 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1504 dev/softraid.c 	ios = wu->swu_fake ? 0 : 1;
wu               1526 dev/softraid.c sr_raid_startwu(struct sr_workunit *wu)
wu               1528 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               1533 dev/softraid.c 	if (wu->swu_state == SR_WU_RESTART)
wu               1541 dev/softraid.c 		TAILQ_INSERT_TAIL(&sd->sd_wu_pendq, wu, swu_link);
wu               1544 dev/softraid.c 	TAILQ_FOREACH(ccb, &wu->swu_ccb, ccb_link) {
wu               1872 dev/softraid.c 	struct sr_workunit	wu;
wu               1995 dev/softraid.c 	bzero(&wu, sizeof(wu));
wu               1996 dev/softraid.c 	wu.swu_fake = 1;
wu               1997 dev/softraid.c 	wu.swu_dis = sd;
wu               1998 dev/softraid.c 	sd->sd_scsi_sync(&wu);
wu               2570 dev/softraid.c sr_raid1_rw(struct sr_workunit *wu)
wu               2572 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               2573 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               2605 dev/softraid.c 	wu->swu_blk_start = blk;
wu               2606 dev/softraid.c 	wu->swu_blk_end = blk + (xs->datalen >> 9) - 1;
wu               2608 dev/softraid.c 	if (wu->swu_blk_end > sd->sd_vol.sv_meta.svm_size) {
wu               2610 dev/softraid.c 		    "end: %lld length: %d\n", wu->swu_blk_start,
wu               2611 dev/softraid.c 		    wu->swu_blk_end, xs->datalen);
wu               2629 dev/softraid.c 	wu->swu_io_count = ios;
wu               2656 dev/softraid.c 		ccb->ccb_wu = wu;
wu               2698 dev/softraid.c 				wu->swu_io_count--;
wu               2713 dev/softraid.c 		TAILQ_INSERT_TAIL(&wu->swu_ccb, ccb, ccb_link);
wu               2725 dev/softraid.c 	if (wu->swu_state == SR_WU_RESTART)
wu               2729 dev/softraid.c 	if (wu->swu_state == SR_WU_REQUEUE)
wu               2734 dev/softraid.c 		if (wu->swu_blk_end < wup->swu_blk_start ||
wu               2735 dev/softraid.c 		    wup->swu_blk_end < wu->swu_blk_start)
wu               2739 dev/softraid.c 		wu->swu_state = SR_WU_DEFERRED;
wu               2745 dev/softraid.c 		wup->swu_collider = wu;
wu               2746 dev/softraid.c 		TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link);
wu               2753 dev/softraid.c 	sr_raid_startwu(wu);
wu               2766 dev/softraid.c 	struct sr_workunit	*wu = ccb->ccb_wu, *wup;
wu               2767 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               2768 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               2785 dev/softraid.c 		wu->swu_ios_failed++;
wu               2791 dev/softraid.c 			panic("%s: invalid target on wu: %p", DEVNAME(sc), wu);
wu               2794 dev/softraid.c 		wu->swu_ios_succeeded++;
wu               2796 dev/softraid.c 	wu->swu_ios_complete++;
wu               2799 dev/softraid.c 	    DEVNAME(sc), wu->swu_ios_complete, wu->swu_io_count,
wu               2800 dev/softraid.c 	    wu->swu_ios_failed);
wu               2802 dev/softraid.c 	if (wu->swu_ios_complete >= wu->swu_io_count) {
wu               2804 dev/softraid.c 		if (wu->swu_ios_failed == wu->swu_ios_complete) {
wu               2809 dev/softraid.c 				TAILQ_INIT(&wu->swu_ccb);
wu               2810 dev/softraid.c 				wu->swu_state = SR_WU_RESTART;
wu               2811 dev/softraid.c 				if (sd->sd_scsi_rw(wu))
wu               2830 dev/softraid.c 			if (wu == wup) {
wu               2832 dev/softraid.c 				TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link);
wu               2835 dev/softraid.c 				if (wu->swu_collider) {
wu               2836 dev/softraid.c 					if (wu->swu_ios_failed)
wu               2838 dev/softraid.c 						sr_raid1_recreate_wu(wu->swu_collider);
wu               2841 dev/softraid.c 					wu->swu_collider->swu_state =
wu               2844 dev/softraid.c 					    wu->swu_collider, swu_link);
wu               2845 dev/softraid.c 					sr_raid_startwu(wu->swu_collider);
wu               2853 dev/softraid.c 			    DEVNAME(sc), wu);
wu               2856 dev/softraid.c 		sr_put_wu(wu);
wu               2869 dev/softraid.c 	sr_put_wu(wu);
wu               2875 dev/softraid.c sr_raid1_recreate_wu(struct sr_workunit *wu)
wu               2877 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               2878 dev/softraid.c 	struct sr_workunit	*wup = wu;
wu               2903 dev/softraid.c sr_raidc_getcryptop(struct sr_workunit *wu, int encrypt)
wu               2905 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               2906 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               2914 dev/softraid.c 	    DEVNAME(sd->sd_sc), wu, encrypt);
wu               3019 dev/softraid.c sr_raidc_rw(struct sr_workunit *wu)
wu               3024 dev/softraid.c 	    DEVNAME(wu->swu_dis->sd_sc), wu);
wu               3026 dev/softraid.c 	crp = sr_raidc_getcryptop(wu, 1);
wu               3028 dev/softraid.c 	crp->crp_opaque = wu;
wu               3037 dev/softraid.c 	struct sr_workunit	*wu = sr_raidc_putcryptop(crp);
wu               3038 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               3039 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               3071 dev/softraid.c 	wu->swu_blk_start = blk;
wu               3072 dev/softraid.c 	wu->swu_blk_end = blk + (xs->datalen >> 9) - 1;
wu               3074 dev/softraid.c 	if (wu->swu_blk_end > sd->sd_vol.sv_meta.svm_size) {
wu               3076 dev/softraid.c 		    "end: %lld length: %d\n", wu->swu_blk_start,
wu               3077 dev/softraid.c 		    wu->swu_blk_end, xs->datalen);
wu               3091 dev/softraid.c 	wu->swu_io_count = 1;
wu               3118 dev/softraid.c 	ccb->ccb_wu = wu;
wu               3155 dev/softraid.c 			wu->swu_io_count--;
wu               3170 dev/softraid.c 	TAILQ_INSERT_TAIL(&wu->swu_ccb, ccb, ccb_link);
wu               3182 dev/softraid.c 		if (wu->swu_blk_end < wup->swu_blk_start ||
wu               3183 dev/softraid.c 		    wup->swu_blk_end < wu->swu_blk_start)
wu               3187 dev/softraid.c 		wu->swu_state = SR_WU_DEFERRED;
wu               3193 dev/softraid.c 		wup->swu_collider = wu;
wu               3194 dev/softraid.c 		TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link);
wu               3201 dev/softraid.c 	sr_raid_startwu(wu);
wu               3215 dev/softraid.c 	struct sr_workunit	*wu = ccb->ccb_wu;
wu               3218 dev/softraid.c 	struct sr_softc		*sc = wu->swu_dis->sd_sc;
wu               3222 dev/softraid.c 	    DEVNAME(sc), bp, wu->swu_xs);
wu               3228 dev/softraid.c 	crp = sr_raidc_getcryptop(wu, 0);
wu               3239 dev/softraid.c 	struct sr_workunit	*wu = ccb->ccb_wu, *wup;
wu               3240 dev/softraid.c 	struct sr_discipline	*sd = wu->swu_dis;
wu               3241 dev/softraid.c 	struct scsi_xfer	*xs = wu->swu_xs;
wu               3253 dev/softraid.c 		wu->swu_ios_failed++;
wu               3259 dev/softraid.c 			panic("%s: invalid target on wu: %p", DEVNAME(sc), wu);
wu               3262 dev/softraid.c 		wu->swu_ios_succeeded++;
wu               3264 dev/softraid.c 	wu->swu_ios_complete++;
wu               3267 dev/softraid.c 	    DEVNAME(sc), wu->swu_ios_complete, wu->swu_io_count);
wu               3269 dev/softraid.c 	if (wu->swu_ios_complete == wu->swu_io_count) {
wu               3270 dev/softraid.c 		if (wu->swu_ios_failed == wu->swu_ios_complete)
wu               3280 dev/softraid.c 			if (wu == wup) {
wu               3282 dev/softraid.c 				TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link);
wu               3285 dev/softraid.c 				if (wu->swu_collider) {
wu               3287 dev/softraid.c 					wu->swu_collider->swu_state =
wu               3290 dev/softraid.c 					    wu->swu_collider, swu_link);
wu               3291 dev/softraid.c 					sr_raid_startwu(wu->swu_collider);
wu               3299 dev/softraid.c 			    DEVNAME(sc), wu);
wu               3302 dev/softraid.c 		sr_put_wu(wu);