HomeFreeBSD

vm_object_split(): Handle orig_object type changes.

Description

vm_object_split(): Handle orig_object type changes.

orig_object->type can change from OBJT_DEFAULT to OBJT_SWAP while
vm_object_split() is sleeping. In this case some pages in new_object
may be left unbusied, but vm_object_split() attempts to unbusy all of
them.

Track the beginning of the busied range. Add an assertion to verify
that pages are not re-added to the source object while sleeping.

Reported by: Olympios Petrakis <olympios.petrakis@netapp.com>
Reviewed by: alc, kib
Tested by: pho
MFC after: 1 week
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D26223

Details

Provenance
markjAuthored on
Reviewer
alc
Differential Revision
D26223: vm_object_split(): Handle orig_object type changes.
Parents
rS365436: MFC r364995:
Branches
Unknown
Tags
Unknown