]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Reset bp->bio_done to unmapped_buf when removing a transient map in biodone.
authorbenno <benno@FreeBSD.org>
Mon, 16 Mar 2015 20:00:09 +0000 (20:00 +0000)
committerbenno <benno@FreeBSD.org>
Mon, 16 Mar 2015 20:00:09 +0000 (20:00 +0000)
Submitted by: Scott Ferris <scott.ferris@isilon.com>
Sponsored by: EMC / Isilon Storage Division
Reviewed by: kib

sys/kern/vfs_bio.c

index f885884506acebfd9c907dbff8d47115ba8ec428..dfe2997bb400ad0a97847429d2ee040623be550d 100644 (file)
@@ -3611,6 +3611,7 @@ biodone(struct bio *bp)
                bp->bio_flags |= BIO_UNMAPPED;
                start = trunc_page((vm_offset_t)bp->bio_data);
                end = round_page((vm_offset_t)bp->bio_data + bp->bio_length);
+               bp->bio_data = unmapped_buf;
                pmap_qremove(start, OFF_TO_IDX(end - start));
                vmem_free(transient_arena, start, end - start);
                atomic_add_int(&inflight_transient_maps, -1);