#beadm gained the ability to set a "preserve" property in #OracleSolaris 11.4.90 to mark a boot environment as not to be destroyed by either automation or manual "beadm destroy" commands.
Discussion
#beadm gained the ability to set a "preserve" property in #OracleSolaris 11.4.90 to mark a boot environment as not to be destroyed by either automation or manual "beadm destroy" commands.
#ZFS changes in #OracleSolaris 11.4.90 include more flexibility in setting retention properties when receiving a new file system, and adding the ability for zfs scrub and resilver to run before all the blocks have been freed from previous zfs destroy operations. (This requires upgrading pools to the new zpool version 54.)
#beadm gained the ability to set a "preserve" property in #OracleSolaris 11.4.90 to mark a boot environment as not to be destroyed by either automation or manual "beadm destroy" commands.
New utime32_t and utimeval32 types have been defined in the system headers in #OracleSolaris 11.4.90 for places where binary compatibility forces a 32-bit time value, but unsigned values can be used to represent times from 1970-2106 instead of the traditional signed 32-bit range of 1901-2038.
The bufmod(4m) interface was modified to use these, allowing snoop(8) to become #Y2038 safe (though still destined to fail in 2106). snoop also became a 64-bit program in this release.
Work continued on trying to prevent bugs that result in killing all processes on the system by mistake, in response to customers hitting https://github.com/sudo-project/sudo/issues/458 last year, and bugs in other programs using -1 as a pid value in kill() calls by mistake.
Previously, in #OracleSolaris 11.4.83, killpg() was made to reject the always invalid process group id of 1, instead of turning it into the "kill all processes" argument of -1 to kill().
Now in 11.4.90, the kill system call was modified to not allow processes to use a pid of -1 unless they'd specifically set a process flag that they intend to kill all processes first, to help with programs that didn't check for errors when finding the process id for the singular process they wanted to kill.