CVSROOT: /cvs Module name: src Changes by: dera...@cvs.openbsd.org 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