From owner-freebsd-current@FreeBSD.ORG Fri Sep 29 13:50:08 2006 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3EE0416A47E; Fri, 29 Sep 2006 13:50:08 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0115143D60; Fri, 29 Sep 2006 13:49:37 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 32D8146CFE; Fri, 29 Sep 2006 09:49:36 -0400 (EDT) Date: Fri, 29 Sep 2006 14:49:36 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ruslan Ermilov In-Reply-To: <20060929134332.GD4776@rambler-co.ru> Message-ID: <20060929144738.W70454@fledge.watson.org> References: <20060929141709.E70454@fledge.watson.org> <20060929134332.GD4776@rambler-co.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: current@FreeBSD.org Subject: Re: lockf in installworld -- not a good idea X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Sep 2006 13:50:08 -0000 On Fri, 29 Sep 2006, Ruslan Ermilov wrote: > The necessity to run rpc.lockd is documented in the build(7) manpage. > Quote: I think this is a bad idea. rpc.lockd is one of the most fragile and largely broken pieces of the operating system. Arguably we shouldn't even be shipping it. Making it required for installworld is asking for trouble. > : installworld Install everything built by a preceding buildworld step > : into the directory hierarchy pointed to by make(1) vari- > : able DESTDIR. > : > : If installing onto an NFS file system, make sure that > : rpc.lockd(8) is running on both client and server. See > : rc.conf(5) on how to make it start at boot time. > >> I've noticed an increasing intolerance in our tools for system install and >> maintenance to locking not being implemented over the past few years. I no >> longer get working cron on boxes with neither rpc.lockd nor local locking >> enabled, for example. Installworld represents a bigger problem, since I >> don't want to have to depend on a completely working rpc chain in order to >> installworld, nor depend on running in what would effectively be multiuser >> mode. Surely there's a better fix for this than adding lockf use? >> > I don't know of a better fix. Another approach is that mentioned in the > commit log and used by NetBSD. I tried it, and it was very fragile -- it > could easily leave the temporary file around, and that would stuck forever > another instances. > > The problem at hand is that multiple instances of install-info(1) are > attempting to write to the ${DESTDIR}/usr/share/info/dir file. If you have a > better idea, don't hesitate to let me know. I'd very much like to get rid > of that as well. The basic problem here is that install-info doesn't support parallelism. Sounds like we just need to accept that and therefore accept that we don't support doing installworld with the -j argument. A middle-ground solution would be to only use lockf if -j is used. Robert N M Watson Computer Laboratory University of Cambridge