I use to run emerge in parallel to update my system faster. I was executing this two sentences at the same time: $ emerge -vuD world -p $ emerge -vuD world -f and this was the output of both: Calculating world dependencies waiting for lock on /var/cache/edb/dep/aux_db_key_temp.portage_lockfile waiting for lock on /var/cache/edb/dep/aux_db_key_temp.portage_lockfile waiting for lock on /var/cache/edb/dep/aux_db_key_temp.portage_lockfile ... sys-apps/portage-2.0.53 emerge --info: Portage 2.0.53 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-suspend2-r7 i686) ================================================================= System uname: 2.6.14-suspend2-r7 i686 Intel(R) Pentium(R) M processor 1.60GHz Gentoo Base System version 1.12.0_pre11 ccache version 2.4 [enabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -mtune=pentium-m -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=pentium-m -mtune=pentium-m -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg candy ccache collision-protect digest distlocks fixpackages sandbox sfperms strict test" GENTOO_MIRRORS=" ftp://ftp.belnet.be/mirrors/rsync.gentoo.org/gentoo" LANG="gl_ES.UTF-8" LC_ALL="gl_ES.UTF-8" LINGUAS="gl es" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-gentopia /usr/local/portage-bmg /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa audiofile avahi avi bash-completion bzip2 cairo cdr cscope cups dbus dvd dvdr eds emboss encode esd exif expat fam firefox flac foomaticdb fortran gdbm gif glut gmp gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml hal imagemagick imlib jpeg junit lcms libg++ libwww mad mikmod mmx mmxext mng mp3 mpeg ncurses nfs nls nptl ogg oggvorbis opengl pcre pic png quicktime readline samba scanner sse sse2 ssl tcltk test tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xml xml2 xv xvid yaz zlib linguas_gl linguas_es userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
What filesystem is your distfiles partition on?
reiserfs
hardlocks cleansing script might be of use- this is only possible via hardlink locking (everything else is in kernel locking that even rsfs can't hork in this fashion) :)
Since 2.1.2 we use a pipe instead of a temp file.