From owner-cvs-sys Mon Feb 20 06:22:03 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id GAA22770 for cvs-sys-outgoing; Mon, 20 Feb 1995 06:22:03 -0800 Received: (from davidg@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id GAA22760; Mon, 20 Feb 1995 06:22:00 -0800 Date: Mon, 20 Feb 1995 06:22:00 -0800 From: David Greenman Message-Id: <199502201422.GAA22760@freefall.cdrom.com> To: CVS-commiters, cvs-sys Subject: cvs commit: src/sys/vm vm_object.c Sender: cvs-sys-owner@freebsd.org Precedence: bulk davidg 95/02/20 06:21:59 Modified: sys/vm vm_object.c Log: Panic if object is deallocated too many times. Slight change to reverse collapsing so that vm_object_deallocate doesn't have to be called recursively. Removed half of a previous fix - the renamed page during a collapse doesn't need to be marked dirty because the pager backing store pointers are copied - thus preserving the page's data. This assumes that pages without backing store are always dirty (except perhaps for when they are first zeroed, but this doesn't matter). Switch order of two lines of code so that the correct pager is removed from the hash list. The previous code bogusly passed a NULL pointer to vm_object_remove(). The call to vm_object_remove() should be unnecessary if named anonymous objects were being dealt with correctly. They are currently marked as OBJ_INTERNAL, which really screws up things (such as this).