Terry Lambert wrote:
>
> David O'Brien wrote:
> > There you go Terry, async mounts for installs.
>
> Thanks.
>
> This does not appear to work on upgrades for things
> like /usr/ports.
>
> Now I will have to go find out why; how annoying: yet
> more work.
OK, I was right.
The damn thing is not mounting async.
There are a couple of reasons for this, when doing an
upgrade:
1) Soft Updates enabled on a root partition.
This comes back to the old "you can't turn SU
on or off, except via tunefs". So even if you
boot via CDROM, it's too late, if the CDROM
kernel supports SU, since it's already on, and
you can't substitute an async mount. Soft
Updates are OK for a moderate amount of file
replacement activity, but wholesale work is
better done with async mounts. So what's
needed is a way for async to take precedence
(by flushing all pending updates, and updating
the mount type).
So the new default of "SU on" actually will
interfere with upgrades (we do this from release
snapshots I have built all the time, and we do
it to recover lab and engineering machines to
a known good state, before applying the most
recent local changes).
2) Most of my upgrades are over a network, not
booting off of CDROM. This means that it's not
running as "init", so David's if() test he quoted
me failed to attempt to activate async mounts;
we don't have the option on a machine with a
serial console and no floppy or CDROM to be able
to select network booting, even though on some
of the machines, there are Intel Netboot capable
FXP cards.
3) The default in 4.3-RELEASE is to have the IDE
write caching off. This is probably the biggest
barrier to fast install/upgrade. It's not really
possible to get around this on initial install,
but on many of the machines, where we are doing
the upgrade over an NFS mount with a copy of the
sysinstall from the floppy image from the CDROM,
(why isn't this duplicated on the CDROM anywhwere?)
it's possible to turn on the write caching at boot
time, and do an upgrade (NOT an install!) with the
write caching enabled. The async mount still does
not take place, because of the soft updates.
NB: Yes, I'm aware this has been changed in the
source tree, but it is not available on and CDROM
distributions currently available.
4) I'm pretty sure that during a regular install, the
default of newfs'ing with soft updates enabled is
now _also_ preventing the use of true async mounts;
again, for the most part, with only new file data,
this is pretty fast, but you are once again up the
creek without a paddle when it comes to installing
the ports collection.
So that's the status: for new installs, the complaint holds
true for all upgrade cases, and the default install case
for things with bad locality of reference (like ports).
Hope this clarifies things.
-- Terry
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message