From owner-freebsd-fs@FreeBSD.ORG Tue Feb 24 22:56:48 2015 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4D22F9C6; Tue, 24 Feb 2015 22:56:48 +0000 (UTC) Received: from esa-annu.net.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 00485873; Tue, 24 Feb 2015 22:56:47 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2D7BABjAO1U/95baINbDoNKVQUEgwTAEgqFJ0kCgXIBAQEBAQF8hBABAQQBAQEgKx0DCxsYAgINGQIpAQkmBggHBAEcBIgOCAW7cJkVAQEBAQEFAQEBAQEBAQEagSGJcoJOgU8BARs0B4JogUMFik6IbYNGgzo5hTCGM4YEIoMxWyAxB4EEOX8BAQE X-IronPort-AV: E=Sophos;i="5.09,641,1418101200"; d="scan'208";a="194510132" Received: from muskoka.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.222]) by esa-annu.net.uoguelph.ca with ESMTP; 24 Feb 2015 17:56:39 -0500 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 8011CB3F40; Tue, 24 Feb 2015 17:56:38 -0500 (EST) Date: Tue, 24 Feb 2015 17:56:38 -0500 (EST) From: Rick Macklem To: Benjamin Kaduk Message-ID: <883898483.10139396.1424818598510.JavaMail.root@uoguelph.ca> In-Reply-To: Subject: Re: NFS, pefs panic: vputx: neg ref cnt MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.95.10] X-Mailer: Zimbra 7.2.6_GA_2926 (ZimbraWebClient - FF3.0 (Win)/7.2.6_GA_2926) Cc: freebsd-fs@freebsd.org, rmacklem@freebsd.org X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:56:48 -0000 Benjamin Kaduk wrote: > On Mon, 23 Feb 2015, Brett A Wiggins wrote: > > > I am able to access the NFS share from OSX but when I try and > > access it > > via a Linux machine I get a kernel panic. The core dump is posted > > below; > > > > http://pastebin.com/Da5bciWX > > > > I'm not sure how to read a core dump (I'm not a developer) but > > there is > > a line; > > > > Panic: vputx: neg ref cnt > > This particular panic ~always means "programmer error". > > Looking at the backtrace: > > KDB: stack backtrace: > #0 0xffffffff80963000 at kdb_backtrace+0x60 > #1 0xffffffff80928125 at panic+0x155 It doesn't make sense to call vputx() from VOP_RECLAIM(), since the ref cnt is already 0. vputx() derefs the vnode, making the ref cnt. -1, I think? > #2 0xffffffff809c8b75 at vputx+0x2d5 > #3 0xffffffff8195b3fb at pefs_reclaim+0xdb > #4 0xffffffff80e439a7 at VOP_RECLAIM_APV+0xa7 > #5 0xffffffff809c9951 at vgonel+0x1c1 > #6 0xffffffff809c9de9 at vrecycle+0x59 This call to pefs_inactive() indicates that the ref cnt. would be 0 at this point. > #7 0xffffffff8195b317 at pefs_inactive+0x87 > #8 0xffffffff80e43897 at VOP_INACTIVE_APV+0xa7 > #9 0xffffffff809c8722 at vinactive+0x102 > #10 0xffffffff809c8b12 at vputx+0x272 > #11 0xffffffff808811ee at nfsrvd_readdirplus+0x117e > #12 0xffffffff80863d9e at nfsrvd_dorpc+0x6de > #13 0xffffffff80872d94 at nfssvc_program+0x554 > #14 0xffffffff80b27957 at svc_run_internal+0xc77 > #15 0xffffffff80b26bee at svc_run+0x1de > #16 0xffffffff8087321a at nfsrvd_nfsd+0x1ca > #17 0xffffffff80883417 at nfssvc_nfsd+0x107 > > It seems that both NFS and PEFS are calling vputx on the same vnode. > > Given the popularity of NFS, I would be more inclined to suspect PEFS > than > NFS, but it could still be a bug that only appears when both are used > together. > > Adding rmacklem to the cc list since he's the resident NFS expert. > Now for the dumb question...where is the pefs stuff? (I've never heard of it and a quick find/grep didn't locate it in the kernel source tree.) I suspect that there is a bogus vput() call in pefs_reclaim(). Neither pefs_inactive() nor pefs_reclaim() should have a vput() call in them, from what I know of the VFS. rick > -Ben > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >