diff options
author | Mark Johnston <markj@FreeBSD.org> | 2018-11-10 20:33:08 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2018-11-10 20:33:08 +0000 |
commit | 0e48e06807cfe7971a04a6013a7f260efd30cfc9 (patch) | |
tree | 1c8eb0d19960f3c734da75718182d3494c0e9a02 /sys/vm | |
parent | 900c4ed3ca131f4985bfc0b7e073c5a7430cc2b0 (diff) | |
download | src-0e48e06807cfe7971a04a6013a7f260efd30cfc9.tar.gz src-0e48e06807cfe7971a04a6013a7f260efd30cfc9.zip |
Re-apply r336984, reverting r339934.
r336984 exposed the bug fixed in r340241, leading to the initial revert
while the bug was being hunted down. Now that the bug is fixed, we
can revert the revert.
Discussed with: alc
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=340331
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_object.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 7a92301d3183..578bcd760071 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2143,8 +2143,9 @@ vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset, next_size >>= PAGE_SHIFT; next_pindex = OFF_TO_IDX(prev_offset) + prev_size; - if ((prev_object->ref_count > 1) && - (prev_object->size != next_pindex)) { + if (prev_object->ref_count > 1 && + prev_object->size != next_pindex && + (prev_object->flags & OBJ_ONEMAPPING) == 0) { VM_OBJECT_WUNLOCK(prev_object); return (FALSE); } |