From owner-freebsd-arch Sat Jul 13 6:57: 4 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB3A737B400; Sat, 13 Jul 2002 06:57:02 -0700 (PDT) Received: from falcon.mail.pas.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by mx1.FreeBSD.org (Postfix) with ESMTP id 40E3043E9B; Sat, 13 Jul 2002 06:57:02 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0019.cvx22-bradley.dialup.earthlink.net ([209.179.198.19] helo=mindspring.com) by falcon.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 17TNOJ-0005k4-00; Sat, 13 Jul 2002 06:56:56 -0700 Message-ID: <3D30316F.DCFBB407@mindspring.com> Date: Sat, 13 Jul 2002 06:55:59 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Nik Clayton Cc: Dag-Erling Smorgrav , Wes Peters , Dan Moschuk , arch@freebsd.org Subject: Re: Package system flaws? References: <20020706220511.GA88651@scoobysnax.jaded.net> <3D27A296.D58FB4B4@softweyr.com> <20020707145116.GC5610@canyon.nothing-going-on.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Nik Clayton wrote: > On Sun, Jul 07, 2002 at 12:09:05PM +0200, Dag-Erling Smorgrav wrote: > > One thing we could improve a lot is the package file format. We > > currently use gzipped tarballs, which have to be completely unpacked > > before processing can begin. One improvement we can make is to use an > > archive format such as zip that allows us to extract individual files > > quickly, so we can extract the metadata and check dependencies > > etc. without unpacking the entire package. > > gzipped UFS filesystem images that can be mounted on a vn/md device. . . The "md" devices have a nasty lockup which was recently run down because it originally looked like a tuning problem. See the -hackers list for details. It's basically a race with a race to root, and happens if two images are in the same directory, as they would be if you were installing package images from the /usr/ports/distfiles directory. Basically, it's possible to deadlock because the device is locked and the device the device is on is locked, and they aren't in the same deadlock avoidance space. The proper fix is probably to add a VFSOP to get an RLE encoded list of raw sectors for a file configured as an md device backing object, and then use that to translate sector requests into sector requests on the underlying device, rather than running the whole thing through the file system a second time. You would need to lock the file before you started doing this, so that it couldn't be extended accidently. That would avoid the deadlock. It would also be really useful for swapping on a file, FWIW. You could even make it work with sparse files, this way... -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message