svn commit: r280153 - head/sys/kern

Benno Rice benno at FreeBSD.org
Mon Mar 16 20:02:56 UTC 2015


Of course by bp->bio_done I mean bp->bio_data.

Pointy hat to:	benno

> On Mar 16, 2015, at 1:00 PM, Benno Rice <benno at FreeBSD.org> wrote:
> 
> Author: benno
> Date: Mon Mar 16 20:00:09 2015
> New Revision: 280153
> URL: https://svnweb.freebsd.org/changeset/base/280153
> 
> Log:
>  Reset bp->bio_done to unmapped_buf when removing a transient map in biodone.
> 
>  Submitted by:	Scott Ferris <scott.ferris at isilon.com>
>  Sponsored by:	EMC / Isilon Storage Division
>  Reviewed by:	kib
> 
> Modified:
>  head/sys/kern/vfs_bio.c
> 
> Modified: head/sys/kern/vfs_bio.c
> ==============================================================================
> --- head/sys/kern/vfs_bio.c	Mon Mar 16 19:29:19 2015	(r280152)
> +++ head/sys/kern/vfs_bio.c	Mon Mar 16 20:00:09 2015	(r280153)
> @@ -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);
> 



More information about the svn-src-all mailing list