Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2021 16:17:01 +0300
From:      Andriy Gapon <avg@freebsd.org>
To:        Alan Somers <asomers@freebsd.org>
Cc:        freebsd-fs <fs@freebsd.org>
Subject:   Re: vfs.zfs.vol.recursive completely broken, time to remove?
Message-ID:  <b94786f0-8e37-89b6-2c28-47d4b92f6447@FreeBSD.org>
In-Reply-To: <CAOtMX2guaaAUsyi0BSxdBL9qRrS%2BXC6bGNhpqXf6F9JJXA973w@mail.gmail.com>
References:  <10583cba-c2f5-ffbe-5a1b-8dfcd8114b4d@FreeBSD.org> <CAOtMX2guaaAUsyi0BSxdBL9qRrS%2BXC6bGNhpqXf6F9JJXA973w@mail.gmail.com>

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

On 29/09/2021 16:05, Alan Somers wrote:
> On Wed, Sep 29, 2021 at 12:10 AM Andriy Gapon <avg@freebsd.org> wrote:
>>
>>
>> It seems that while previously there could sometimes be a deadlock with
>> vfs.zfs.vol.recursive=1, now it is guaranteed.
>>
>> There was an OpenZFS change to use a pool of threads for vdev opening (to
>> parallelize / speed up).  When such a thread opens a zvol it needs to acquire
>> spa_namespace_lock.  But the lock is already held by a thread requesting the
>> operation such as a thread doing zpool import (spa_load).
>> So, it's an obvious deadlock: the main thread is waiting for the workers while
>> holding the namespace lock, at least one of the workers is blocked on the same lock.
> 
> The last time I tried that there was pushback from a lot of different
> people.  I think we need to fix it instead.  Here's the beginning of
> that flame war.
> https://docs.freebsd.org/cgi/getmsg.cgi?fetch=1031189+0+archive/2016/svn-src-all/20160124.svn-src-all
> 

Back then it probably had a chance of working.  At least, I have been using it 
for a long time without much problems.
Now (for the past half a year or so) it's completely unusable.

-- 
Andriy Gapon


help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b94786f0-8e37-89b6-2c28-47d4b92f6447>