Konstantin Belousov 6fd04eff66 With the removal of b_saveaddr in the r285819, b_data must be reset to
b_kvabase when the buffer is reclaimed.  Otherwise, if b_data for the
mapped buffer was adjusted with the page-offset portion of b_offset,
nothing would re-adjust the b_data, which breaks buffer management
code which expects page-aligned b_data (see e.g. bpman_qenter(), which
skips partial pages).

Fix a minor issue with the GB_KVAALLOC requests, which could result in
returning the mapped buffer if the reused buffer is mapped and have
the right amount of KVA reserved.

Improve assertion in the vfs_buf_check_mapped() to catch unmapped
buffers which have their b_data incorrectly adjusted with offset.

Reported and tested by:	pho (previous version)
Reviewed by:	jeff (previous version)
Sponsored by:	The FreeBSD Foundation
2015-07-25 15:00:14 +00:00
..
2015-07-20 09:37:42 +00:00
2015-04-22 14:38:58 +00:00
2015-01-22 11:12:42 +00:00
2015-06-30 17:00:45 +00:00
2015-01-22 11:12:42 +00:00
2015-04-22 14:38:58 +00:00
2014-03-14 06:29:43 +00:00
2015-06-30 17:00:45 +00:00
2014-06-26 13:57:44 +00:00
2014-08-11 15:06:07 +00:00
2015-01-22 11:12:42 +00:00
2015-06-10 10:48:12 +00:00
2015-07-11 15:22:11 +00:00
2015-07-11 15:22:11 +00:00
2015-07-11 15:22:11 +00:00
2015-06-10 10:48:12 +00:00
2015-03-17 14:16:50 +00:00
2015-07-24 22:13:39 +00:00