From 49deadcb877b852608424d443b6f07883b12807d Mon Sep 17 00:00:00 2001 From: Benjamin Kaduk Date: Thu, 22 Jun 2017 17:54:49 +0000 Subject: [PATCH] Add 2017Q2 ino64 entry from mkcusick --- .../news/status/report-2017-04-2017-06.xml | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml b/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml index 947f6ee6e4..00e92bf524 100644 --- a/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml +++ b/en_US.ISO8859-1/htdocs/news/status/report-2017-04-2017-06.xml @@ -83,4 +83,97 @@ 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) + +