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

Reply via email to