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>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/T+pdA.9Hn4G.E1AymhzME8V
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

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
>=20
> The patch incorporates the kib's patch for extending VFS API that helps t=
o avoid
> entering the vnode inactive/reclaim path from getnewvnode.
>=20
> 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.
>=20
> 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

--Sig_/T+pdA.9Hn4G.E1AymhzME8V
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

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

--Sig_/T+pdA.9Hn4G.E1AymhzME8V--



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