Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Oct 2012 14:35:41 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        fs@FreeBSD.org
Subject:   Re: ZFS: Deadlock during vnode recycling
Message-ID:  <20121008143541.537d8490@fabiankeil.de>
In-Reply-To: <5071A071.1020800@FreeBSD.org>
References:  <76CBA055-021F-458D-8978-E9A973D9B783@scsiguy.com> <506EB43B.8050204@FreeBSD.org> <5071A071.1020800@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Andriy Gapon <avg@FreeBSD.org> wrote:

> In fact here is a real patch that I would like to propose:
> http://people.freebsd.org/~avg/zfs-getnewvnode_reserve.diff
> 
> The patch incorporates the kib's patch for extending VFS API that helps to avoid
> entering the vnode inactive/reclaim path from getnewvnode.
> 
> The patch should fix the problem reported in this thread and the problem from
> "panic: _sx_xlock_hard: recursed on non-recursive sx zfsvfs->z_hold_mtx ..."
> thread that runs in parallel.
> 
> Reviews and testing are welcome.

I'd probably replace the intentionally empty "else if (zp->z_unlinked)"
block in zfs_freebsd_reclaim() with a comment, but other than that the
patch looks good to me.

While I'm using nullfs on a couple of jails, I never experienced
the panic above and can thus only report that I didn't notice any
regressions so far since applying the patch yesterday.

Fabian

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlByyKAACgkQBYqIVf93VJ01ZQCgtVvK7AyF2rgoEvAk0+wpALS/
f/8An1RtXtLDyv83IFRZZ0YX8pCcTq0k
=7PFl
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121008143541.537d8490>