tmpfs: strange behaviour (was: broken buildkernel (scsi_low and
-Os) and duplicate manpages)
kostikbel at gmail.com
Sun Feb 17 10:44:55 UTC 2008
On Sun, Feb 17, 2008 at 09:35:28AM +0200, David Naylor wrote:
> On 14/02/2008, Oliver Fromme <olli at lurza.secnetix.de> wrote:
> > David Naylor wrote:
> > > It is a strange problem, normal installworld works fine, but somehow
> > > the duplicate manpages result in a failure when installing with
> > > DESTDIR=, here are some possible reasons:
> > >
> > > 1) I use tmpfs when using DESTDIR (could be tmpfs does something strange)
> > > 2) Base system (compiled and installed) is compiled using -O2???
> > What is the exact CFLAGS setting that you use?
> > Do you use -O2 (or -Os) without -fno-strict-aliasing?
> I have managed to isolate the problem and it is definitely tmpfs
> related. If the directory that I'm installing into is tmpfs then it
> will fail, if it is ufs then it works.
> I recompiled tmpfs module (and reloaded) with CFLAGS='' with the same result.
> As an aside I have found that the default CFLAGS for src are: -O2
> -fno-strict-aliasing -pipe. Would -fstrict-aliasing break anything in
I suspect this is a known issue. See the following commit:
delphij 2007-11-18 04:52:41 UTC
FreeBSD src repository
sys/fs/tmpfs tmpfs.h tmpfs_subr.c tmpfs_vfsops.c
MFp4: Several fixes to tmpfs which makes it to survive from pho@'s
strees2 suite, to quote his letter, this change:
1. It removes the tn_lookup_dirent stuff. I think this cannot be fixed,
because nothing protects vnode/tmpfs node between lookup is done, and
actual operation is performed, in the case the vnode lock is dropped.
At least, this is the case with the from vnode for rename.
For now, we do the linear lookup in the parent node. This has its own
drawbacks. Not mentioning speed (that could be fixed by using hash), the
real problem is the situation where several hardlinks exist in the dvp.
But, I think this is fixable.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Esp. this part.
2. The patch restores the VV_ROOT flag on the root vnode after it became
reclaimed and allocated again. This fixes MPASS assertion at the start
of the tmpfs_lookup() reported by many.
Submitted by: kib
Revision Changes Path
1.12 +2 -6 src/sys/fs/tmpfs/tmpfs.h
1.13 +25 -3 src/sys/fs/tmpfs/tmpfs_subr.c
1.14 +0 -1 src/sys/fs/tmpfs/tmpfs_vfsops.c
1.12 +19 -23 src/sys/fs/tmpfs/tmpfs_vnops.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080217/7b6e4e42/attachment.pgp
More information about the freebsd-stable