From owner-svn-src-user@FreeBSD.ORG Wed Nov 25 02:13:45 2009 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 1A44D106566C; Wed, 25 Nov 2009 02:13:45 +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 E451F8FC15; Wed, 25 Nov 2009 02:13:44 +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 nAP2Diqn036260; Wed, 25 Nov 2009 02:13:44 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nAP2Di4Z036258; Wed, 25 Nov 2009 02:13:44 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200911250213.nAP2Di4Z036258@svn.freebsd.org> From: Kip Macy Date: Wed, 25 Nov 2009 02:13:44 +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: r199777 - 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: Wed, 25 Nov 2009 02:13:45 -0000 Author: kmacy Date: Wed Nov 25 02:13:44 2009 New Revision: 199777 URL: http://svn.freebsd.org/changeset/base/199777 Log: improve logging for buffer state changes Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Modified: user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c ============================================================================== --- user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Wed Nov 25 02:10:07 2009 (r199776) +++ user/kmacy/releng_8_fcs_buf_xen/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Wed Nov 25 02:13:44 2009 (r199777) @@ -1326,16 +1326,21 @@ retry: bp = gbincore(bo, blkno_lookup); if (bp != NULL) { BUF_LOCK(bp, LK_EXCLUSIVE | LK_INTERLOCK, BO_MTX(bo)); + CTR3(KTR_SPARE2, "arc_binval() bp=%p blkno %ld npages %d", + bp, blkno, bp->b_npages); bremfree(bp); + KASSERT(bp->b_flags & B_VMIO, ("buf found, VMIO not set")); bp->b_flags |= B_INVAL; bp->b_birth = 0; brelse(bp); } else if (blkno_lookup & 0x7) { blkno_lookup &= ~0x7; goto retry; - } else + } else { + CTR2(KTR_SPARE2, "arc_binval() blkno %ld npages %d", + blkno, OFF_TO_IDX(size)); BO_UNLOCK(bo); - + } start = OFF_TO_IDX((blkno_lookup << 9)); end = start + OFF_TO_IDX(size + PAGE_MASK); object = vp->v_object; @@ -1366,6 +1371,8 @@ arc_pcache(struct vnode *vp, struct buf bgetvp(vp, bp); BO_UNLOCK(bo); + CTR3(KTR_SPARE2, "arc_pcache() bp=%p blkno %ld npages %d", + bp, blkno, bp->b_npages); VM_OBJECT_LOCK(object); for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; @@ -1400,10 +1407,9 @@ arc_bcache(arc_buf_t *buf) ((newbp->b_flags & (B_INVAL|B_CACHE)) == B_CACHE) && (blkno & 0x7) == 0); - arc_binval(hdr->b_spa, &hdr->b_dva, hdr->b_size); + arc_binval(hdr->b_spa, &hdr->b_dva, hdr->b_size); if (cachebuf) - arc_pcache(vp, newbp, blkno); - + arc_pcache(vp, newbp, blkno); } static void @@ -1467,17 +1473,11 @@ arc_getblk(arc_buf_t *buf) data = newbp->b_data; } -#ifdef LOGALL - /* - * not useful for tracking down collisions - * - */ - CTR2(KTR_SPARE2, "arc_getblk() bp=%p flags %X", - newbp, newbp->b_flags); -#endif - if (newbp != NULL) { BUF_KERNPROC(newbp); + + CTR4(KTR_SPARE2, "arc_getblk() bp=%p flags %X blkno %ld npages %d", + newbp, newbp->b_flags, blkno, newbp->b_npages); #ifdef INVARIANTS for (i = 0; i < newbp->b_npages; i++) KASSERT(newbp->b_pages[i]->object == NULL, @@ -1514,10 +1514,12 @@ arc_brelse(arc_buf_t *buf, void *data, s if (bp->b_vp == NULL) KASSERT((bp->b_flags & B_VMIO) == 0, ("no vp but VMIO set!")); - else + else { + KASSERT((bp->b_flags & B_VMIO), ("vp but VMIO not set!")); CTR4(KTR_SPARE2, "arc_brelse() bp=%p flags %X" " size %ld blkno=%ld", bp, bp->b_flags, size, bp->b_blkno); + } bp->b_flags |= B_ZFS; brelse(bp);