[4169] in arla-drinkers
Re: Arla on FreeBSD
daemon@ATHENA.MIT.EDU (Kostik Belousov)
Thu Feb 15 07:09:37 2007
From arla-drinkers-bounces@stacken.kth.se Thu Feb 15 12:09:36 2007
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 27706 invoked from network); 15 Feb 2007 12:09:36 -0000
Received: from mx2.kth.se (130.237.48.98)
by charon.mit.edu with SMTP; 15 Feb 2007 12:09:36 -0000
Received: from localhost (localhost.localdomain [127.0.0.1])
by mx2.kth.se (Postfix) with ESMTP id 76D4314080C;
Thu, 15 Feb 2007 13:09:35 +0100 (CET)
Received: from mx2.kth.se ([127.0.0.1])
by localhost (mx2.kth.se [127.0.0.1]) (amavisd-new, port 10024) with LMTP
id 29856-06-55; Thu, 15 Feb 2007 13:09:33 +0100 (CET)
Received: from tapas.stacken.kth.se (tapas.stacken.kth.se [130.237.234.140])
by mx2.kth.se (Postfix) with ESMTP id EA34C14076A;
Thu, 15 Feb 2007 13:09:30 +0100 (CET)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
by tapas.stacken.kth.se (Postfix) with ESMTP id 9E4045350F;
Thu, 15 Feb 2007 13:09:30 +0100 (CET)
X-Original-To: arla-drinkers@tapas.stacken.kth.se
Delivered-To: arla-drinkers@tapas.stacken.kth.se
Received: from brev.stacken.kth.se (brev.stacken.kth.se [130.237.234.84])
by tapas.stacken.kth.se (Postfix) with ESMTP id 7A3515350F
for <arla-drinkers@tapas.stacken.kth.se>;
Thu, 15 Feb 2007 13:09:28 +0100 (CET)
Received: from mx3.kth.se (mx3.kth.se [130.237.48.97])
by brev.stacken.kth.se (8.12.10/8.12.10) with ESMTP id l1FC9SOA005877
for <arla-drinkers@stacken.kth.se>;
Thu, 15 Feb 2007 13:09:28 +0100 (MET)
Received: from localhost (localhost.localdomain [127.0.0.1])
by mx3.kth.se (Postfix) with ESMTP id 0B1FF140504
for <arla-drinkers@stacken.kth.se>;
Thu, 15 Feb 2007 13:09:28 +0100 (CET)
Received: from mx3.kth.se ([127.0.0.1])
by localhost (mx3.kth.se [127.0.0.1]) (amavisd-new,
port 10024) with LMTP
id 24633-01-47 for <arla-drinkers@stacken.kth.se>;
Thu, 15 Feb 2007 13:09:25 +0100 (CET)
Received: from fw.zoral.com.ua (fw.zoral.com.ua [213.186.206.134])
by mx3.kth.se (Postfix) with ESMTP id A1E391406DF
for <arla-drinkers@stacken.kth.se>;
Thu, 15 Feb 2007 13:09:23 +0100 (CET)
Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua
[10.1.1.148])
by fw.zoral.com.ua (8.13.4/8.13.4) with ESMTP id l1FC8u4G001261
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
Thu, 15 Feb 2007 14:08:56 +0200 (EET)
(envelope-from kostikbel@gmail.com)
Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1])
by deviant.kiev.zoral.com.ua (8.13.8/8.13.8) with ESMTP id
l1FC8uJa086319; Thu, 15 Feb 2007 14:08:56 +0200 (EET)
(envelope-from kostikbel@gmail.com)
Received: (from kostik@localhost)
by deviant.kiev.zoral.com.ua (8.13.8/8.13.8/Submit) id l1FC8tA3086318;
Thu, 15 Feb 2007 14:08:55 +0200 (EET)
(envelope-from kostikbel@gmail.com)
X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to
kostikbel@gmail.com using -f
Date: Thu, 15 Feb 2007 14:08:55 +0200
From: Kostik Belousov <kostikbel@gmail.com>
To: Tomas Olsson <tol@it.su.se>
Subject: Re: Arla on FreeBSD
Message-ID: <20070215120855.GE39168@deviant.kiev.zoral.com.ua>
References: <eqsut3$6a3$1@sea.gmane.org>
<20070213192906.U726@chrishome.localnet>
<20070214162938.GA96725@keira.kiwi-computer.com>
<20070214173211.L1054@chrishome.localnet>
<20070214170808.GC96725@keira.kiwi-computer.com>
<lsrvei45pq1.fsf@kashyyyk.ite.kth.se>
<20070215044707.GA39168@deviant.kiev.zoral.com.ua>
<lsrmz3f680v.fsf_-_@kashyyyk.ite.kth.se>
<20070215104537.GC39168@deviant.kiev.zoral.com.ua>
<lsrhctn6393.fsf@kashyyyk.ite.kth.se>
Mime-Version: 1.0
In-Reply-To: <lsrhctn6393.fsf@kashyyyk.ite.kth.se>
User-Agent: Mutt/1.4.2.2i
X-Virus-Scanned: ClamAV version 0.88.7,
clamav-milter version 0.88.7 on fw.zoral.com.ua
X-Virus-Status: Clean
X-Spam-Status: No, score=-0.1 required=5.0 tests=ALL_TRUSTED,SPF_NEUTRAL
autolearn=failed version=3.1.7
X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on fw.zoral.com.ua
X-Virus-Scanned: by amavisd-new at kth.se
X-Spam-Status: No, hits=-4.9 tagged_above=-200.0 required=5.0 tests=BAYES_00
X-Spam-Level:
Cc: freebsd-fs@freebsd.org, arla-drinkers@stacken.kth.se
X-BeenThere: arla-drinkers@stacken.kth.se
X-Mailman-Version: 2.1.6
Precedence: list
List-Id: Arla discussions <arla-drinkers.stacken.kth.se>
List-Unsubscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>,
<mailto:arla-drinkers-request@stacken.kth.se?subject=unsubscribe>
List-Archive: <http://lists.stacken.kth.se/pipermail/arla-drinkers>
List-Post: <mailto:arla-drinkers@stacken.kth.se>
List-Help: <mailto:arla-drinkers-request@stacken.kth.se?subject=help>
List-Subscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>,
<mailto:arla-drinkers-request@stacken.kth.se?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2104320094=="
Sender: arla-drinkers-bounces@stacken.kth.se
Errors-To: arla-drinkers-bounces@stacken.kth.se
X-Virus-Scanned: by amavisd-new at kth.se
--===============2104320094==
Content-Type: multipart/signed; micalg=pgp-sha1;
protocol="application/pgp-signature"; boundary="4Epv4kl9IRBfg3rk"
Content-Disposition: inline
--4Epv4kl9IRBfg3rk
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Thu, Feb 15, 2007 at 12:59:04PM +0100, Tomas Olsson wrote:
> Kostik Belousov <kostikbel@gmail.com> writes:
> > On Thu, Feb 15, 2007 at 11:16:00AM +0100, Tomas Olsson wrote:
> > > The interesting part is how we open and access the cache files, and f=
rom
> > > what context. arlad is in chroot() to avoid recursive lookups across =
/, and
> > > it seems like a good idea to avoid such lookups now too.
> > >=20
> > > So the main question is how to properly do VOP_{LOOKUP,CREATE,WRITE} =
etc on
> > > cache files in this dual context world, without mixing identities in =
bad
> > > ways or confusing the OS too much.
> > >=20
> > > The currently messed up code lives in
> > > http://cvsweb.stacken.kth.se/cvsweb.cgi/arla/nnpfs/bsd/
> > >=20
> > > Most interesting is nnpfs_vnodeops-common.c (nnpfs_write_common()) and
> > > nnpfs_blocks.c (open_file())
> >=20
> > I made really quick look at the places you mentioned. I have some
> > comment for open_file(). For FreeBSD >=3D 6.x, the right way to open vn=
ode
> > from the kernel code is to use vn_open() (and then vn_close()) API.
> >
> Great! Sounds reasonable.
>=20
> We currently open the cache files from nnpfs' VOPs, are there any risks
> (deadlock?) involved if one passes an absolute path to vn_open() in such a
> context? I'd have liked to do use arlad's thread for this, but vput()
There, you already have nnpfs vnode locked. The right lock order for vnodes
is from root down by the tree. As such, you may end up with reversals, that
would result in deadlocks, IMHO.
> explicitly uses curthread deep down in namei. Also, users are not normally
> allowed to access the cache files directly so some OSes complain on such a
> lookup with user creds; would that be a problem here?
How is the user access to cache is disabled ? And what is the cache itself ?
Local filesystem (UFS) that stores your blocks in regular files ?
> Of course, we wouldn't have to worry about such things if we just kept the
> vnode handy for each cache block file. Maybe it's a price worth paying.
Then, you need to take some care of cached vnode lifecircle (e.g., even
keeping the vnode vref'ed would not prevent it from being recycled, so you
may end with dead vnode).
Also, as Robert pointed out in his email, you probably need to decide about
MP-safeness of nnpfs.
--4Epv4kl9IRBfg3rk
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)
iD8DBQFF1E1WC3+MBN1Mb4gRAjHwAKD3lgPzIH72g875WHdlUurV/1V+6ACfU8Tr
kelnnlG00zwmCocrwlHGy70=
=xmly
-----END PGP SIGNATURE-----
--4Epv4kl9IRBfg3rk--
--===============2104320094==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Arla-drinkers mailing list
Arla-drinkers@stacken.kth.se
https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers
--===============2104320094==--