Revert r269814: blkfront: add support for unmapped IO
Current busdma code for unmapped bios will not properly align the segment size, causing corruption on blkfront devices. Revert the commit until busdma code is fixed. Reported by: mav MFC after: 1 day
This commit is contained in:
parent
33a50f1b0f
commit
77b6916d2e
@ -272,12 +272,8 @@ xbd_queue_request(struct xbd_softc *sc, struct xbd_command *cm)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (cm->cm_bp != NULL)
|
||||
error = bus_dmamap_load_bio(sc->xbd_io_dmat, cm->cm_map,
|
||||
cm->cm_bp, xbd_queue_cb, cm, 0);
|
||||
else
|
||||
error = bus_dmamap_load(sc->xbd_io_dmat, cm->cm_map,
|
||||
cm->cm_data, cm->cm_datalen, xbd_queue_cb, cm, 0);
|
||||
error = bus_dmamap_load(sc->xbd_io_dmat, cm->cm_map, cm->cm_data,
|
||||
cm->cm_datalen, xbd_queue_cb, cm, 0);
|
||||
if (error == EINPROGRESS) {
|
||||
/*
|
||||
* Maintain queuing order by freezing the queue. The next
|
||||
@ -337,6 +333,8 @@ xbd_bio_command(struct xbd_softc *sc)
|
||||
}
|
||||
|
||||
cm->cm_bp = bp;
|
||||
cm->cm_data = bp->bio_data;
|
||||
cm->cm_datalen = bp->bio_bcount;
|
||||
cm->cm_sector_number = (blkif_sector_t)bp->bio_pblkno;
|
||||
|
||||
switch (bp->bio_cmd) {
|
||||
@ -995,7 +993,7 @@ xbd_instance_create(struct xbd_softc *sc, blkif_sector_t sectors,
|
||||
|
||||
sc->xbd_disk->d_mediasize = sectors * sector_size;
|
||||
sc->xbd_disk->d_maxsize = sc->xbd_max_request_size;
|
||||
sc->xbd_disk->d_flags = DISKFLAG_UNMAPPED_BIO;
|
||||
sc->xbd_disk->d_flags = 0;
|
||||
if ((sc->xbd_flags & (XBDF_FLUSH|XBDF_BARRIER)) != 0) {
|
||||
sc->xbd_disk->d_flags |= DISKFLAG_CANFLUSHCACHE;
|
||||
device_printf(sc->xbd_dev,
|
||||
|
Loading…
x
Reference in New Issue
Block a user