Subject: Re: Removing tmpfs' experimental status
To: Julio M. Merino Vidal <jmmv84@gmail.com>
From: Tobias Nygren <tnn+nbsd@nygren.pp.se>
List: tech-kern
Date: 10/22/2006 18:37:42
Julio M. Merino Vidal wrote:
> Hello,
>
> [ please CC me any replies ]
>
> Several people have suggested to remove the experimental status from
> tmpfs so that we can enable it by default in our kernels (not in
> sysinst, though). I think it was martin@ who said that this would be
> fine but that we first should disable obviously broken functionality
> (read NFS support). That seems wise advice so...
>
> Unless there are serious objections, I'll do this soon so that it can
> get into 4.0:
> - Change all kernel configurations to remove the 'experimental' status
> from the TMPFS line.
> - Enable TMPFS by default on all GENERIC kernels.
> - Disable the tmpfs_vfstofh and tmpfs_fhtovfs vfsops so that tmpfs
> does not support exporting. (I'm making them optional through a
> TMPFS_ENABLE_NFS macro so that people interested in fixing it can
> quickly enable the missing bits. Of course the macro will go away
> when things work as expected.)
> - Add some notes in mount_tmpfs(8) BUGS section to explain this as
> well as some other missing features.
>
> Thanks.
>
I haven't had a tmpfs related crash in a long time, and I use several
multi-gigabyte sized tmpfs filesystems, so I think the quality of tmpfs
code is good. However there's one annoying bug that someone might
be able to figure out:
If you put pkgsrc's wrkobjdir on a tmpfs filesystem, like for example ...
WRKOBJDIR=/tmp/pkgsrc-obj
.. and then try to make install in pkgsrc/devel/autoconf, it will fail with
the output below. This does not occur when wrkobjdir is on an ffs
filesystem. I've reproduced this on i386 and alpha.
--
[...]
Updating man page ./config.guess.1
PATH="../tests:../config:$PATH"; export PATH; /bin/sh
/tmp/pkgsrc-obj/devel/autoconf/work.chiyo/autoconf-2.60/config/missing
--run help2man --include=./config.guess.x --include=./common.x
--output=./config.guess.1.t `echo './config.guess' | sed 's,.*/,,'`
help2man: not found
WARNING: `help2man' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
`Help2man' package in order for those modifications to take
effect. You can get `Help2man' from any GNU archive site.
*** Error code 1
Stop.
make: stopped in /tmp/pkgsrc-obj/devel/autoconf/work.pc164/autoconf-2.60/man
*** Error code 1