Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
os, syscall, x/sys/unix: add support for FreeBSD 12 #22448
As described in https://svnweb.freebsd.org/base?view=revision&revision=318736, FreeBSD 12 changes the ABI related to file status and directory file format like the following:
We need to find out some good way to fill the ABI gap between FreeBSD 11 or below and FreeBSD 12 or above. Plus a few test cases. The existing test cases don't detect the ABI breakage and APIs in os, syscall and x/sys/unix packages return corrupted information to API users.
changed the title from
os, syscall, x/sys/unix: add support for FreeBSD12
os, syscall, x/sys/unix: add support for FreeBSD 12
Oct 26, 2017
Avoiding ino64 will result in failures on file systems with an unreasonably large number of inodes (and some other limitations that were addressed w/ ino64, like
FreeBSD 10's EOL is not far off but FreeBSD 11 has years left. In a couple of years FreeBSD 12 will be the earliest supported release, and all supported releases will have ino64.
pushed a commit
Oct 5, 2018
pushed a commit
Oct 22, 2018
@SylvainGarrigues I did the ino64 change. You now have 64-bit inode support on FreeBSD 12 while on older releases the Stat/Statfs/Dirent return 64-bit inodes but only for compatibility (they use the old non 64-bit aware syscalls and just extend the result to the new format).
There's a new kevent syscall supporting absolute timers (https://svnweb.freebsd.org/base?view=revision&revision=320043) which changes the struct layout, but I don't think there's a requirement to use it on FreeBSD 12 as long as the old
I'm not aware of additional incompatible changes, but this issue also calls for additional tests to detect breakage, so I guess we keep it open for a while.