Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Oct 2014 17:13:57 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Glen Barber <gjb@freebsd.org>
Cc:        svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-10@freebsd.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: svn commit: r272372 - stable/10/bin/rm
Message-ID:  <201410021713.57943.jhb@freebsd.org>
In-Reply-To: <20141002061628.GO1275@hub.FreeBSD.org>
References:  <201410011618.s91GIfR5071251@svn.freebsd.org> <20141002141656.Y1807@besplex.bde.org> <20141002061628.GO1275@hub.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, October 02, 2014 2:16:28 am Glen Barber wrote:
> On Thu, Oct 02, 2014 at 02:56:05PM +1000, Bruce Evans wrote:
> > On Wed, 1 Oct 2014, Glen Barber wrote:
> > 
> > >Log:
> > > MFC r268376 (imp):
> > >
> > >   rm -rf can fail sometimes with an error from fts_read. Make it
> > >   honor fflag to ignore fts_read errors, but stop deleting from
> > >   that directory because no further progress can be made.
> > 
> > I asked for this to be backed out in -current.  It is not suitable for 
MFC.
> > 
> 
> It fixes an immediate issue that prevents high-concurrent make(1) jobs
> from stomping over each other.
> 
> If there is a more suitable solution, it needs to be introduced in head/
> first, pending MFC for 10.1-RELEASE.
> 
> In the meantime, we lack any alternate fix, and this resolves the
> immediate issue at hand.
> 
> > See old mail for more details.
> > 
> 
> I saw the original email.  I do not see a proposed patch.

I think the proposed patch is to revert this and fix the broken Makefiles 
instead.  The problem with changing rm to workaround a bug in FreeBSD's 
Makefiles is we are breaking rm(1) for everyone else in the world to cater to 
a bug in our build system.

Are you happy that we are invoking the same commands in parallel for a make 
target?  In some cases it may be ok, but there are many others where it is not 
(e.g. if two jobs are both compiling the same .o file, the second one might 
replace an object file out from under a subsequent link that starts after the 
first one finishes).  Instead of breaking rm, you should be harassing whoever 
broke make (or added the SUBDIR_PARALLEL logic).  Presumably you can build 
without -j <x> as a workaround.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410021713.57943.jhb>