MFC r271099: 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 Approved by: re
This commit is contained in:
parent
4f7be401fc
commit
928f86ffd6
@ -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