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