Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 2013 10:19:02 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        freebsd-fs@freebsd.org, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: Deadlock in nullfs/zfs somewhere
Message-ID:  <CAJ-Vmonk2HAzX38-mbL8hwxiUfL6JyJrMTq0dTBctW=P4dfyEQ@mail.gmail.com>
In-Reply-To: <51E67F54.9080800@FreeBSD.org>
References:  <CAJ-Vmomy3MrkSwJLQUGnDuD3EC3HzrudEghSDMeDwzVdaFNpLg@mail.gmail.com> <51DCFEDA.1090901@FreeBSD.org> <CAJ-VmokctCmV4%2By17uvqO9wXEyh0s%2BaXZ9nggvoAgP5%2BZHSgFA@mail.gmail.com> <51E59FD9.4020103@FreeBSD.org> <CAJ-VmokR8jJpdRc_kBJzhW4_R1pJnj3UPfsG5ANpq-kEGwCP9g@mail.gmail.com> <51E67F54.9080800@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17 July 2013 04:26, Andriy Gapon <avg@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmonk2HAzX38-mbL8hwxiUfL6JyJrMTq0dTBctW=P4dfyEQ>