Commit the 64-bit inode project.Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modifystruct dirent layout to add d_off, increase the size of d_filenoto 64-bits, increase the size of d_na
Commit the 64-bit inode project.Extend the ino_t, dev_t, nlink_t types to 64-bit ints. Modifystruct dirent layout to add d_off, increase the size of d_filenoto 64-bits, increase the size of d_namlen to 16-bits, and changethe required alignment. Increase struct statfs f_mntfromname[] andf_mntonname[] array length MNAMELEN to 1024.ABI breakage is mitigated by providing compatibility using versionedsymbols, ingenious use of the existing padding in structures, andby employing other tricks. Unfortunately, not everything can befixed, especially outside the base system. For instance, third-partyAPIs which pass struct stat around are broken in backward andforward incompatible ways.Kinfo sysctl MIBs ABI is changed in backward-compatible way, butthere is no general mechanism to handle other sysctl MIBS whichreturn structures where the layout has changed. It was consideredthat the breakage is either in the management interfaces, where weusually allow ABI slip, or is not important.Struct xvnode changed layout, no compat shims are provided.For struct xtty, dev_t tty device member was reduced to uint32_t.It was decided that keeping ABI compat in this case is more usefulthan reporting 64-bit dev_t, for the sake of pstat.Update note: strictly follow the instructions in UPDATING. Buildand install the new kernel with COMPAT_FREEBSD11 option enabled,then reboot, and only then install new world.Credits: The 64-bit inode project, also known as ino64, started lifemany years ago as a project by Gleb Kurtsou (gleb). Kirk McKusick(mckusick) then picked up and updated the patch, and acted as aflag-waver. Feedback, suggestions, and discussions were carriedby Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles),and Rick Macklem (rmacklem). Kris Moore (kris) performed an initialports 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 theproject to completion were done by Konstantin Belousov (kib).Sponsored by: The FreeBSD Foundation (emaste, kib)Differential revision: https://reviews.freebsd.org/D10439
show more ...
cddl: normalize paths using SRCTOP-relative paths or :H when possibleThis simplifies make logic/outputWhile here, remove bogus CFLAGS which look for headers in cddl/lib/libumem.There aren't any
cddl: normalize paths using SRCTOP-relative paths or :H when possibleThis simplifies make logic/outputWhile here, remove bogus CFLAGS which look for headers in cddl/lib/libumem.There aren't any source files there (just Makefiles)MFC after: 1 monthSponsored by: Dell EMC Isilon
Fix LDADD/DPADD that should be LIBADD.Sponsored by: EMC / Isilon Storage Division
META MODE: Update dependencies with 'the-lot' and add missing directories.This is not properly respecting WITHOUT or ARCH dependencies in target/.Doing so requires a massive effort to rework targe
META MODE: Update dependencies with 'the-lot' and add missing directories.This is not properly respecting WITHOUT or ARCH dependencies in target/.Doing so requires a massive effort to rework targets/ to do so. Abetter approach will be to either include the SUBDIR Makefiles directlyand map to DIRDEPS or just dynamically lookup the SUBDIR. These losethe benefit of having a userland/lib, userland/libexec, etc, though andresults in a massive package. The current implementation of targets/ isvery unmaintainable.Currently rescue/rescue and sys/modules are still not connected.Sponsored by: EMC / Isilon Storage Division
META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.This both avoids some dependencies on xinstall.host and allowsbootstrapping on older releases to work due to lack of
META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.This both avoids some dependencies on xinstall.host and allowsbootstrapping on older releases to work due to lack of at least 'install -l'support.Sponsored by: EMC / Isilon Storage Division
MFV r289312: 2605 want to resume interrupted zfs sendReviewed by: George Wilson <george.wilson@delphix.com>Reviewed by: Paul Dagnelie <pcd@delphix.com>Reviewed by: Richard Elling <Richard.Elling@
MFV r289312: 2605 want to resume interrupted zfs sendReviewed by: George Wilson <george.wilson@delphix.com>Reviewed by: Paul Dagnelie <pcd@delphix.com>Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>Reviewed by: Xin Li <delphij@freebsd.org>Reviewed by: Arne Jansen <sensille@gmx.net>Approved by: Dan McDonald <danmcd@omniti.com>Author: Matthew Ahrens <mahrens@delphix.com>illumos/illumos-gate@9c3fd1216fa7fb02cfbc78a2518a686d54b48ab8For more info, see: - slides http://www.slideshare.net/MatthewAhrens/openzfs-send-and-receive - video https://www.youtube.com/watch?v=iY44jPMvxog - manpage changes (for zfs resume -s and zfs send -t) - upcoming talk at the OpenZFS Developer SummitThe TL;DR is:Use "zfs receive -s" to save the partially received state on failure.On failure, get the receive token with "zfs get receive_resume_token <fs>"Resume the send with "zfs send -t <token_value>"Relnotes: yes
Fix circular dependency between libzfs and libzfs_corelibzfs_core is the wrapper around kernel ioctls, the ioctl compat code belongsto it
Add META_MODE support.Off by default, build behaves normally.WITH_META_MODE we get auto objdir creation, the ability tostart build from anywhere in the tree.Still need to add real targets under
Add META_MODE support.Off by default, build behaves normally.WITH_META_MODE we get auto objdir creation, the ability tostart build from anywhere in the tree.Still need to add real targets under targets/ to build packages.Differential Revision: D2796Reviewed by: brooks imp
dirdeps.mk now sets DEP_RELDIR
Updated/new dependencies
Merge from head@274682
Add dependencies to various libraries to libzfs and libzpool.Submitted by: sef
Revert r272189, the committed version was an old version and breaks build.Pointy hat to: delphij
Add libuutil to dependency list.Noticed by: sefMFC after: 3 days
Merge head from 7/28
Explicitly link libzfs against libavl as it is done in OpenSolaris(4543:12bb2876a62e). Without this, some third party applicationsmay break because the lack of AVL related symbols.FreeBSD base s
Explicitly link libzfs against libavl as it is done in OpenSolaris(4543:12bb2876a62e). Without this, some third party applicationsmay break because the lack of AVL related symbols.FreeBSD base system are not affected because the FreeBSD ZFS commandline tools were all linked against libavl and thus hide the underlyingissue.PR: java/183081Tested by: jkimMFC after: 3 days
Updated dependencies
Merge from head
Import adapted OpenSolaris' thread pool API implementation.The thread pool is used by libzfs to implement parallel disk scanning.Without this change our dummy wrapper made `zpool import ZZZ` comma
Import adapted OpenSolaris' thread pool API implementation.The thread pool is used by libzfs to implement parallel disk scanning.Without this change our dummy wrapper made `zpool import ZZZ` command toscan all disks sequentially from the single thread when searching for pools.This change makes it use two threads per CPU, same as in OpenSolaris.On system with 200 HDDs this change reduces ZFS pool import time from 35to 22 seconds.
New/updated dependencies
sync from head
Move common zfs ioctl compatibility functions (userland) into libzfs_compat.cIntroduce additional constants for zfs ioctl versions
WiP merge of libzfs_core (MFV r238590, r238592)not yet working, ioctl handling needs to be changed
123