Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ffs:valloc: dup alloc (in 5.0RC3)



Hi,

just updating to 5.0RC3 from a slightly older version and I'm getting a

  panic: ffs_valloc: dup alloc

when trying to build a release. The backtrace is

  ffs_valloc(
  ufs_mkdir(
  VOP_MKDIR(
  sys_mkdir(
  syscall(

and the process is nbmtree.

my setup is fairly convoluted but this seems repeatable (it happened
several times). My bandwidth is low (GPRS) so I have a master CVS tree
checked out in /var/cvs/NetBSD-5/src and its owned by me. This is
remounted under /usr/src via a umap mount which maps file ownership to
root so I don't accidentally change things. Then, I have a unionfs mount
of this to my homedir so I can change whatever I like without affecting
the main checkout. From fstab:

/dev/wd0e               /var                    ffs     rw,log           1 2
/dev/wd0f               /home                   ffs     rw               1 2
/var/cvs/NetBSD-5/src   /usr/src                umap    
rw,nodev,nosuid,-g=/etc/umap.gid,-u=/etc/umap.uid
/usr/src                /home/plunky/src        union   
rw,nodev,nosuid,noauto,-b

(Although /var uses wapbl, it doesn't seem to be causing the problem as I
tried with that disabled and it still failed. I've never had wapbl on
/home as its small enough that fsck won't take long.)

Because mkdir/nbmtree is involved, I think it is the unionfs mount that is
causing the problem, and for confirmation I can do a full release build
from /usr/src or /var/cvs/NetBSD-5/src without trouble (I only have some
userland modifications in the homedir at the moment and the kernel is
GENERIC)

The panic happens at the same place, I think at the start of building libc
(just after objdirs have been made)

I tried a full scan of the unionfs directory (populates it with shadow
directories) and that worked fine, as does making or touching a file in
the upper layer, so it seems that it only happens under some load though I
don't use -jN as its useful to keep capacity for interactive use (dual
core)

Looking at the recent CHANGES-5.0 I thought that ticket #490 could be
relevant as there were some changes relating to ffs there and specifically
"dup alloc" was mentioned..

reverting ufs/ffs/ffs_alloc.c to version 1.113 does seem to have cleared
the problem (one build complete, started another just now), so I'm
guessing that something in unionfs needs to be updated to take account of
the ffs change. I don't know what though, any suggestions?

iain


Home | Main Index | Thread Index | Old Index