diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2011-07-04 03:22:08 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2011-07-04 03:22:08 +0000 |
commit | 85b55dd11ca7aadfe2ffc0908028049d0fcc8930 (patch) | |
tree | 5b5dd22f43ae43421f0e27e43b75bdc6f5274ab9 | |
parent | 15624218e3e2e6e62e90dc0957c88cdc60c00045 (diff) |
whack the collider stuff for now
-rw-r--r-- | sys/dev/softraid_aoe.c | 40 |
1 files changed, 2 insertions, 38 deletions
diff --git a/sys/dev/softraid_aoe.c b/sys/dev/softraid_aoe.c index fd05b902be8..082d61fb2d6 100644 --- a/sys/dev/softraid_aoe.c +++ b/sys/dev/softraid_aoe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: softraid_aoe.c,v 1.18 2011/04/05 19:52:02 krw Exp $ */ +/* $OpenBSD: softraid_aoe.c,v 1.19 2011/07/04 03:22:07 tedu Exp $ */ /* * Copyright (c) 2008 Ted Unangst <tedu@openbsd.org> * Copyright (c) 2008 Marco Peereboom <marco@openbsd.org> @@ -401,7 +401,6 @@ sr_aoe_rw(struct sr_workunit *wu) { struct sr_discipline *sd = wu->swu_dis; struct scsi_xfer *xs = wu->swu_xs; - struct sr_workunit *wup; struct sr_chunk *scp; daddr64_t blk; int s, ios, rt; @@ -428,26 +427,7 @@ sr_aoe_rw(struct sr_workunit *wu) if (xs->flags & SCSI_POLL) panic("can't AOE poll"); - /* walk queue backwards and fill in collider if we have one */ s = splbio(); - if (0) /* XXX */ TAILQ_FOREACH_REVERSE(wup, &sd->sd_wu_pendq, sr_wu_list, swu_link) { - if (wu->swu_blk_end < wup->swu_blk_start || - wup->swu_blk_end < wu->swu_blk_start) - continue; - - /* we have an LBA collision, defer wu */ - wu->swu_state = SR_WU_DEFERRED; - if (wup->swu_collider) - /* wu is on deferred queue, append to last wu */ - while (wup->swu_collider) - wup = wup->swu_collider; - - wup->swu_collider = wu; - TAILQ_INSERT_TAIL(&sd->sd_wu_defq, wu, swu_link); - sd->sd_wu_collisions++; - splx(s); - return (0); - } for (i = 0; i < ios; i++) { if (xs->flags & SCSI_DATA_IN) { rt = 0; @@ -509,7 +489,7 @@ sr_aoe_input(struct aoe_handler *ah, struct mbuf *m) struct scsi_xfer *xs; struct aoe_req *ar; struct aoe_packet *ap; - struct sr_workunit *wu, *wup; + struct sr_workunit *wu; daddr64_t blk, offset; int len, s; int tag; @@ -560,22 +540,6 @@ sr_aoe_input(struct aoe_handler *ah, struct mbuf *m) xs->resid = 0; - if (0) /* XXX */ TAILQ_FOREACH(wup, &sd->sd_wu_pendq, swu_link) { - if (wu == wup) { - /* wu on pendq, remove */ - TAILQ_REMOVE(&sd->sd_wu_pendq, wu, swu_link); - - if (wu->swu_collider) { - /* restart deferred wu */ - wu->swu_collider->swu_state = - SR_WU_INPROGRESS; - TAILQ_REMOVE(&sd->sd_wu_defq, - wu->swu_collider, swu_link); - /* sr_raid_startwu(wu->swu_collider); */ - } - break; - } - } sr_scsi_done(sd, xs); } |