diff options
author | kib <kib@FreeBSD.org> | 2013-07-11 05:38:39 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-07-11 05:38:39 +0000 |
commit | c2cfac4ffcfbb4f2ff275d0ccb9622a92fb70d88 (patch) | |
tree | 83050d7c065b72781e15499cd2c538bd7d8238c9 /sys/vm/vm_page.c | |
parent | 6d305886664ac1ea75a4f856838b7e5e0b1c44e0 (diff) | |
download | FreeBSD-src-c2cfac4ffcfbb4f2ff275d0ccb9622a92fb70d88.zip FreeBSD-src-c2cfac4ffcfbb4f2ff275d0ccb9622a92fb70d88.tar.gz |
In the vm_page_set_invalid() function, do not assert that the page is
not busy, since its only caller brelse() can legitimately call it on
busy page. This happens for VOP_PUTPAGES() on filesystems that use
buffers and which VOP_WRITE() method marked the buffer containing page
as non-cacheable.
Reported and tested by: pho
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r-- | sys/vm/vm_page.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index a47209f..4a167c1 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2631,8 +2631,6 @@ vm_page_set_invalid(vm_page_t m, int base, int size) vm_page_bits_t bits; VM_OBJECT_ASSERT_WLOCKED(m->object); - KASSERT((m->oflags & VPO_BUSY) == 0, - ("vm_page_set_invalid: page %p is busy", m)); bits = vm_page_bits(base, size); if (m->valid == VM_PAGE_BITS_ALL && bits != 0) pmap_remove_all(m); |