Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Nov 2010 15:38:30 +0100
From:      Ivan Voras <ivoras@freebsd.org>
To:        freebsd-fs@freebsd.org
Subject:   Re: The state of Giant lock in the file systems?
Message-ID:  <ib9216$rk8$1@dough.gmane.org>
In-Reply-To: <20101108143130.GA2799@tops>
References:  <ib8qda$nat$1@dough.gmane.org> <20101108143130.GA2799@tops>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/08/10 15:31, Gleb Kurtsou wrote:
> On (08/11/2010 13:28), Ivan Voras wrote:
>> I was looking at fusefs sources and there is a dance it does with the
>> Giant lock which looks fishy.
> It's intended to be fishy. No kernel level locks should be held before
> returning to userland, in other words on each syscall vnode is locked (+
> Gaint lock for fs if needed), than it's unlocked by filesystem and
> relocked upon callback from userspace. puffs is MPSAFE if that could be
> of any help for you.

I don't think we're talking completely about the same thing here.

I'm talking about fuse's DO_GIANT_MANUALLY flag, with awareness that
fuse does:

473 #ifdef MNTK_MPSAFE
474         mp->mnt_kern_flag |= MNTK_MPSAFE;
475 #endif

What are you talking about?





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ib9216$rk8$1>