CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2019/08/03 09:22:21
Modified files:
sys/lib/libsa : Makefile stand.h ufs.c ufs.h ufs2.c
sys/stand/boot : boot.c cmd.c
sys/arch/alpha/stand/boot: filesystem.c
sys/arch/amd64/stand/boot: Makefile conf.c
sys/arch/amd64/stand/cdboot: Makefile conf.c
sys/arch/amd64/stand/efi32: Makefile.common conf.c
sys/arch/amd64/stand/efi64: Makefile.common conf.c
sys/arch/amd64/stand/efiboot: Makefile.common conf.c
sys/arch/amd64/stand/pxeboot: Makefile conf.c
sys/arch/arm64/stand/efiboot: Makefile conf.c
sys/arch/armv7/stand/efiboot: Makefile conf.c
sys/arch/hppa/stand/boot: conf.c
sys/arch/hppa/stand/libsa: Makefile
sys/arch/i386/stand/boot: Makefile conf.c
sys/arch/i386/stand/cdboot: Makefile conf.c
sys/arch/i386/stand/pxeboot: Makefile conf.c
sys/arch/landisk/stand/boot: conf.c
sys/arch/landisk/stand/xxboot: boot1.c
sys/arch/loongson/stand/boot: conf.c
sys/arch/loongson/stand/libsa: Makefile
sys/arch/macppc/stand/boot.mac: Makefile
sys/arch/macppc/stand/ofwboot: Makefile
sys/arch/sgi/stand/libsa: Makefile
Added files:
sys/lib/libsa : fchmod.c
Log message:
In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.
Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.
based upon a discussion florian
tested in snapshots for more than a week without any complaints