From owner-svn-src-user@FreeBSD.ORG Sun Jan 10 02:33:34 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 63EED1065670; Sun, 10 Jan 2010 02:33:34 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 527298FC08; Sun, 10 Jan 2010 02:33:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o0A2XYM7089343; Sun, 10 Jan 2010 02:33:34 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o0A2XYUp089341; Sun, 10 Jan 2010 02:33:34 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <201001100233.o0A2XYUp089341@svn.freebsd.org> From: Kip Macy Date: Sun, 10 Jan 2010 02:33:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201970 - user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2010 02:33:34 -0000 Author: kmacy Date: Sun Jan 10 02:33:34 2010 New Revision: 201970 URL: http://svn.freebsd.org/changeset/base/201970 Log: - clear buf after it is removed - set object root to NULL if bp being removed is the last one Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Sun Jan 10 02:31:06 2010 (r201969) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_bio.c Sun Jan 10 02:33:34 2010 (r201970) @@ -571,6 +571,9 @@ zio_buf_blkno_remove_locked(vm_object_t state->zss_resident_count--; state->zss_generation++; + if (bp == state->zss_blkno_root) + state->zss_blkno_root = NULL; + #ifdef INVARIANTS bp->b_right = bp->b_left = NULL; #endif @@ -756,13 +759,14 @@ zio_buf_evict_overlap(vm_object_t object TAILQ_REMOVE(&clh, tmpbp, b_cluster.cluster_entry); evict: zio_buf_vm_object_evict(tmpbp); - tmpbp->b_bufobj = NULL; - tmpbp->b_flags &= ~B_VMIO; - tmpbp->b_blkno = tmpbp->b_lblkno = 0; /* * move buffer to the unmanaged tree */ zio_buf_blkno_remove_locked(object, tmpbp); + tmpbp->b_bufobj = NULL; + tmpbp->b_flags &= ~(B_VMIO|B_CACHE); + tmpbp->b_blkno = tmpbp->b_lblkno = 0; + tmpbp->b_state = NULL; } done: if (!(collisions == 1 && tmpbp != NULL && tmpbp->b_blkno == blkno &&