Index: head/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml =================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml (revision 50393) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml (revision 50394) @@ -1,86 +1,179 @@ April-June 2017
Introduction

This is a draft of the April–June 2017 status report. Please check back after it is finalized, and an announcement email is sent to the &os;-Announce mailing list.

This report covers &os;-related projects between April and June 2017. This is the second of four reports planned for 2017.

The second quarter of 2017 was another productive quarter for the &os; project and community. [...]

Thanks to all the reporters for the excellent work!

The deadline for submissions covering the period from July to September 2017 is October 7, 2017.

?>
team &os; Team Reports proj Projects kern Kernel arch Architectures bin Userland Programs ports Ports doc Documentation misc Miscellaneous + + 64-bit Inode Numbers + + + + + Gleb + Kurtsou + + gleb@FreeBSD.org + + + + + Konstantin + Belousov + + kib@FreeBSD.org + + + + + Kirk + McKusick + + mckusick@FreeBSD.org + + + + + Phabricator Review + + + +

The 64-bit inode project was completed and merged into + &os;  12 on May 23, 2017. It extends the ino_t, + dev_t, and nlink_t types to be 64-bit + integers. It modifies the struct dirent layout to + add a d_off field, increases the size of + d_fileno to 64 bits, increases the size of + d_namlen to 16 bits, and changes the required + alignment of the structure. It increases the struct + statfs f_mntfromname[] and + f_mntonname[] array lengths from MNAMELEN to + 1024.

+ +

ABI breakage is mitigated by providing compatibility using + versioned symbols, ingenious use of the existing padding in + structures, and employing various other tricks. + Unfortunately, not everything can be fixed, especially outside + the base system. For instance, third-party APIs which pass + struct stat as parameters are broken in backward- and + forward-incompatible ways.

+ +

The ABI for kinfo sysctl MIBs is changed in a + backward-compatible way, but there is no general mechanism to + handle other sysctl MIBS which return structures where the + layout has changed. It was considered that the breakage is + either in management interfaces, where we usually allow ABI + slippage, or is not important.

+ +

The layout of struct xvnode changed, and no + compatibility shims are provided.

+ +

For struct xtty, the dev_t tty device + member was reduced to be just uint32_t. It was + decided that maintaining ABI compatability in this case is + more useful than reporting a 64-bit dev_t value, for + the sake of pstat.

+ +

Updating note: strictly follow the instructions in + UPDATING. Build and install the new kernel with the + COMPAT_FREEBSD11 option enabled, then reboot, and + only then install the new world.

+ +

Credits: The 64-bit inode project, also known as ino64, + started life many years ago as a project by Gleb Kurtsou + (gleb). Kirk McKusick (mckusick) then picked up and updated + the patch, and acted as a flag-waver. Feedback, suggestions, + and discussions were carried by Ed Maste (emaste), John + Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem + (rmacklem). Kris Moore (kris) performed an initial ports + investigation followed by an exp-run by Antoine Brodin + (antoine). Essential and all-embracing testing was done by + Peter Holm (pho). The heavy lifting of coordinating all these + efforts and bringing the project to completion were done by + Konstantin Belousov (kib).

+ + + + The FreeBSD Foundation (emaste, kib) + +