Re: Deadlock in nullfs/zfs somewhere

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Wed, 17 Jul 2013 10:19:02 -0700
On 17 July 2013 04:26, Andriy Gapon <avg_at_freebsd.org> wrote:
> on 16/07/2013 22:40 Adrian Chadd said the following:
>> :(  So it's a deadlock. Ok, so what's next?
>
> A creative process...

Wonderful. :)

> One possibility is to add getnewvnode_reserve() calls before the ZFS transaction
> beginnings in the places where a new vnode/znode may have to be allocated within
> a transaction.
> This looks like a quick and cheap solution but it makes the code somewhat messier.
>
> Another possibility is to change something in VFS machinery, so that VOP_RECLAIM
> getting blocked for one filesystem does not prevent vnode allocation for other
> filesystems.
>
> I could think of other possible solutions via infrastructural changes in VFS or
> ZFS...

Well, what do others think? This seems like a showstopper for systems
with lots and lots of ZFS filesystems doing lots and lots of activity.



-adrian
Received on Wed Jul 17 2013 - 15:19:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC