mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Minimal changes required to integrate the SPL sources in to the
ZFS repository build infrastructure and packaging.
Build system and packaging:
  * Renamed SPL_* autoconf m4 macros to ZFS_*.
  * Removed redundant SPL_* autoconf m4 macros.
  * Updated the RPM spec files to remove SPL package dependency.
  * The zfs package obsoletes the spl package, and the zfs-kmod
    package obsoletes the spl-kmod package.
  * The zfs-kmod-devel* packages were updated to add compatibility
    symlinks under /usr/src/spl-x.y.z until all dependent packages
    can be updated.  They will be removed in a future release.
  * Updated copy-builtin script for in-kernel builds.
  * Updated DKMS package to include the spl.ko.
  * Updated stale AUTHORS file to include all contributors.
  * Updated stale COPYRIGHT and included the SPL as an exception.
  * Renamed README.markdown to README.md
  * Renamed OPENSOLARIS.LICENSE to LICENSE.
  * Renamed DISCLAIMER to NOTICE.
Required code changes:
  * Removed redundant HAVE_SPL macro.
  * Removed _BOOT from nvpairs since it doesn't apply for Linux.
  * Initial header cleanup (removal of empty headers, refactoring).
  * Remove SPL repository clone/build from zimport.sh.
  * Use of DEFINE_RATELIMIT_STATE and DEFINE_SPINLOCK removed due
    to build issues when forcing C99 compilation.
  * Replaced legacy ACCESS_ONCE with READ_ONCE.
  * Include needed headers for `current` and `EXPORT_SYMBOL`.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Olaf Faaland <faaland1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Pavel Zakharov <pavel.zakharov@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
TEST_ZIMPORT_SKIP="yes"
Closes #7556
		
	
			
		
			
				
	
	
		
			385 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			385 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Unless otherwise noted, all files in this distribution are released
 | 
						|
under the Common Development and Distribution License (CDDL).
 | 
						|
Exceptions are noted within the associated source files.
 | 
						|
 | 
						|
--------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0
 | 
						|
 | 
						|
1. Definitions.
 | 
						|
 | 
						|
    1.1. "Contributor" means each individual or entity that creates
 | 
						|
         or contributes to the creation of Modifications.
 | 
						|
 | 
						|
    1.2. "Contributor Version" means the combination of the Original
 | 
						|
         Software, prior Modifications used by a Contributor (if any),
 | 
						|
         and the Modifications made by that particular Contributor.
 | 
						|
 | 
						|
    1.3. "Covered Software" means (a) the Original Software, or (b)
 | 
						|
         Modifications, or (c) the combination of files containing
 | 
						|
         Original Software with files containing Modifications, in
 | 
						|
         each case including portions thereof.
 | 
						|
 | 
						|
    1.4. "Executable" means the Covered Software in any form other
 | 
						|
         than Source Code.
 | 
						|
 | 
						|
    1.5. "Initial Developer" means the individual or entity that first
 | 
						|
         makes Original Software available under this License.
 | 
						|
 | 
						|
    1.6. "Larger Work" means a work which combines Covered Software or
 | 
						|
         portions thereof with code not governed by the terms of this
 | 
						|
         License.
 | 
						|
 | 
						|
    1.7. "License" means this document.
 | 
						|
 | 
						|
    1.8. "Licensable" means having the right to grant, to the maximum
 | 
						|
         extent possible, whether at the time of the initial grant or
 | 
						|
         subsequently acquired, any and all of the rights conveyed
 | 
						|
         herein.
 | 
						|
 | 
						|
    1.9. "Modifications" means the Source Code and Executable form of
 | 
						|
         any of the following:
 | 
						|
 | 
						|
        A. Any file that results from an addition to, deletion from or
 | 
						|
           modification of the contents of a file containing Original
 | 
						|
           Software or previous Modifications;
 | 
						|
 | 
						|
        B. Any new file that contains any part of the Original
 | 
						|
           Software or previous Modifications; or
 | 
						|
 | 
						|
        C. Any new file that is contributed or otherwise made
 | 
						|
           available under the terms of this License.
 | 
						|
 | 
						|
    1.10. "Original Software" means the Source Code and Executable
 | 
						|
          form of computer software code that is originally released
 | 
						|
          under this License.
 | 
						|
 | 
						|
    1.11. "Patent Claims" means any patent claim(s), now owned or
 | 
						|
          hereafter acquired, including without limitation, method,
 | 
						|
          process, and apparatus claims, in any patent Licensable by
 | 
						|
          grantor.
 | 
						|
 | 
						|
    1.12. "Source Code" means (a) the common form of computer software
 | 
						|
          code in which modifications are made and (b) associated
 | 
						|
          documentation included in or with such code.
 | 
						|
 | 
						|
    1.13. "You" (or "Your") means an individual or a legal entity
 | 
						|
          exercising rights under, and complying with all of the terms
 | 
						|
          of, this License.  For legal entities, "You" includes any
 | 
						|
          entity which controls, is controlled by, or is under common
 | 
						|
          control with You.  For purposes of this definition,
 | 
						|
          "control" means (a) the power, direct or indirect, to cause
 | 
						|
          the direction or management of such entity, whether by
 | 
						|
          contract or otherwise, or (b) ownership of more than fifty
 | 
						|
          percent (50%) of the outstanding shares or beneficial
 | 
						|
          ownership of such entity.
 | 
						|
 | 
						|
2. License Grants.
 | 
						|
 | 
						|
    2.1. The Initial Developer Grant.
 | 
						|
 | 
						|
    Conditioned upon Your compliance with Section 3.1 below and
 | 
						|
    subject to third party intellectual property claims, the Initial
 | 
						|
    Developer hereby grants You a world-wide, royalty-free,
 | 
						|
    non-exclusive license:
 | 
						|
 | 
						|
        (a) under intellectual property rights (other than patent or
 | 
						|
            trademark) Licensable by Initial Developer, to use,
 | 
						|
            reproduce, modify, display, perform, sublicense and
 | 
						|
            distribute the Original Software (or portions thereof),
 | 
						|
            with or without Modifications, and/or as part of a Larger
 | 
						|
            Work; and
 | 
						|
 | 
						|
        (b) under Patent Claims infringed by the making, using or
 | 
						|
            selling of Original Software, to make, have made, use,
 | 
						|
            practice, sell, and offer for sale, and/or otherwise
 | 
						|
            dispose of the Original Software (or portions thereof).
 | 
						|
 | 
						|
        (c) The licenses granted in Sections 2.1(a) and (b) are
 | 
						|
            effective on the date Initial Developer first distributes
 | 
						|
            or otherwise makes the Original Software available to a
 | 
						|
            third party under the terms of this License.
 | 
						|
 | 
						|
        (d) Notwithstanding Section 2.1(b) above, no patent license is
 | 
						|
            granted: (1) for code that You delete from the Original
 | 
						|
            Software, or (2) for infringements caused by: (i) the
 | 
						|
            modification of the Original Software, or (ii) the
 | 
						|
            combination of the Original Software with other software
 | 
						|
            or devices.
 | 
						|
 | 
						|
    2.2. Contributor Grant.
 | 
						|
 | 
						|
    Conditioned upon Your compliance with Section 3.1 below and
 | 
						|
    subject to third party intellectual property claims, each
 | 
						|
    Contributor hereby grants You a world-wide, royalty-free,
 | 
						|
    non-exclusive license:
 | 
						|
 | 
						|
        (a) under intellectual property rights (other than patent or
 | 
						|
            trademark) Licensable by Contributor to use, reproduce,
 | 
						|
            modify, display, perform, sublicense and distribute the
 | 
						|
            Modifications created by such Contributor (or portions
 | 
						|
            thereof), either on an unmodified basis, with other
 | 
						|
            Modifications, as Covered Software and/or as part of a
 | 
						|
            Larger Work; and
 | 
						|
 | 
						|
        (b) under Patent Claims infringed by the making, using, or
 | 
						|
            selling of Modifications made by that Contributor either
 | 
						|
            alone and/or in combination with its Contributor Version
 | 
						|
            (or portions of such combination), to make, use, sell,
 | 
						|
            offer for sale, have made, and/or otherwise dispose of:
 | 
						|
            (1) Modifications made by that Contributor (or portions
 | 
						|
            thereof); and (2) the combination of Modifications made by
 | 
						|
            that Contributor with its Contributor Version (or portions
 | 
						|
            of such combination).
 | 
						|
 | 
						|
        (c) The licenses granted in Sections 2.2(a) and 2.2(b) are
 | 
						|
            effective on the date Contributor first distributes or
 | 
						|
            otherwise makes the Modifications available to a third
 | 
						|
            party.
 | 
						|
 | 
						|
        (d) Notwithstanding Section 2.2(b) above, no patent license is
 | 
						|
            granted: (1) for any code that Contributor has deleted
 | 
						|
            from the Contributor Version; (2) for infringements caused
 | 
						|
            by: (i) third party modifications of Contributor Version,
 | 
						|
            or (ii) the combination of Modifications made by that
 | 
						|
            Contributor with other software (except as part of the
 | 
						|
            Contributor Version) or other devices; or (3) under Patent
 | 
						|
            Claims infringed by Covered Software in the absence of
 | 
						|
            Modifications made by that Contributor.
 | 
						|
 | 
						|
3. Distribution Obligations.
 | 
						|
 | 
						|
    3.1. Availability of Source Code.
 | 
						|
 | 
						|
    Any Covered Software that You distribute or otherwise make
 | 
						|
    available in Executable form must also be made available in Source
 | 
						|
    Code form and that Source Code form must be distributed only under
 | 
						|
    the terms of this License.  You must include a copy of this
 | 
						|
    License with every copy of the Source Code form of the Covered
 | 
						|
    Software You distribute or otherwise make available.  You must
 | 
						|
    inform recipients of any such Covered Software in Executable form
 | 
						|
    as to how they can obtain such Covered Software in Source Code
 | 
						|
    form in a reasonable manner on or through a medium customarily
 | 
						|
    used for software exchange.
 | 
						|
 | 
						|
    3.2. Modifications.
 | 
						|
 | 
						|
    The Modifications that You create or to which You contribute are
 | 
						|
    governed by the terms of this License.  You represent that You
 | 
						|
    believe Your Modifications are Your original creation(s) and/or
 | 
						|
    You have sufficient rights to grant the rights conveyed by this
 | 
						|
    License.
 | 
						|
 | 
						|
    3.3. Required Notices.
 | 
						|
 | 
						|
    You must include a notice in each of Your Modifications that
 | 
						|
    identifies You as the Contributor of the Modification.  You may
 | 
						|
    not remove or alter any copyright, patent or trademark notices
 | 
						|
    contained within the Covered Software, or any notices of licensing
 | 
						|
    or any descriptive text giving attribution to any Contributor or
 | 
						|
    the Initial Developer.
 | 
						|
 | 
						|
    3.4. Application of Additional Terms.
 | 
						|
 | 
						|
    You may not offer or impose any terms on any Covered Software in
 | 
						|
    Source Code form that alters or restricts the applicable version
 | 
						|
    of this License or the recipients' rights hereunder.  You may
 | 
						|
    choose to offer, and to charge a fee for, warranty, support,
 | 
						|
    indemnity or liability obligations to one or more recipients of
 | 
						|
    Covered Software.  However, you may do so only on Your own behalf,
 | 
						|
    and not on behalf of the Initial Developer or any Contributor.
 | 
						|
    You must make it absolutely clear that any such warranty, support,
 | 
						|
    indemnity or liability obligation is offered by You alone, and You
 | 
						|
    hereby agree to indemnify the Initial Developer and every
 | 
						|
    Contributor for any liability incurred by the Initial Developer or
 | 
						|
    such Contributor as a result of warranty, support, indemnity or
 | 
						|
    liability terms You offer.
 | 
						|
 | 
						|
    3.5. Distribution of Executable Versions.
 | 
						|
 | 
						|
    You may distribute the Executable form of the Covered Software
 | 
						|
    under the terms of this License or under the terms of a license of
 | 
						|
    Your choice, which may contain terms different from this License,
 | 
						|
    provided that You are in compliance with the terms of this License
 | 
						|
    and that the license for the Executable form does not attempt to
 | 
						|
    limit or alter the recipient's rights in the Source Code form from
 | 
						|
    the rights set forth in this License.  If You distribute the
 | 
						|
    Covered Software in Executable form under a different license, You
 | 
						|
    must make it absolutely clear that any terms which differ from
 | 
						|
    this License are offered by You alone, not by the Initial
 | 
						|
    Developer or Contributor.  You hereby agree to indemnify the
 | 
						|
    Initial Developer and every Contributor for any liability incurred
 | 
						|
    by the Initial Developer or such Contributor as a result of any
 | 
						|
    such terms You offer.
 | 
						|
 | 
						|
    3.6. Larger Works.
 | 
						|
 | 
						|
    You may create a Larger Work by combining Covered Software with
 | 
						|
    other code not governed by the terms of this License and
 | 
						|
    distribute the Larger Work as a single product.  In such a case,
 | 
						|
    You must make sure the requirements of this License are fulfilled
 | 
						|
    for the Covered Software.
 | 
						|
 | 
						|
4. Versions of the License.
 | 
						|
 | 
						|
    4.1. New Versions.
 | 
						|
 | 
						|
    Sun Microsystems, Inc. is the initial license steward and may
 | 
						|
    publish revised and/or new versions of this License from time to
 | 
						|
    time.  Each version will be given a distinguishing version number.
 | 
						|
    Except as provided in Section 4.3, no one other than the license
 | 
						|
    steward has the right to modify this License.
 | 
						|
 | 
						|
    4.2. Effect of New Versions.
 | 
						|
 | 
						|
    You may always continue to use, distribute or otherwise make the
 | 
						|
    Covered Software available under the terms of the version of the
 | 
						|
    License under which You originally received the Covered Software.
 | 
						|
    If the Initial Developer includes a notice in the Original
 | 
						|
    Software prohibiting it from being distributed or otherwise made
 | 
						|
    available under any subsequent version of the License, You must
 | 
						|
    distribute and make the Covered Software available under the terms
 | 
						|
    of the version of the License under which You originally received
 | 
						|
    the Covered Software.  Otherwise, You may also choose to use,
 | 
						|
    distribute or otherwise make the Covered Software available under
 | 
						|
    the terms of any subsequent version of the License published by
 | 
						|
    the license steward.
 | 
						|
 | 
						|
    4.3. Modified Versions.
 | 
						|
 | 
						|
    When You are an Initial Developer and You want to create a new
 | 
						|
    license for Your Original Software, You may create and use a
 | 
						|
    modified version of this License if You: (a) rename the license
 | 
						|
    and remove any references to the name of the license steward
 | 
						|
    (except to note that the license differs from this License); and
 | 
						|
    (b) otherwise make it clear that the license contains terms which
 | 
						|
    differ from this License.
 | 
						|
 | 
						|
5. DISCLAIMER OF WARRANTY.
 | 
						|
 | 
						|
    COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
 | 
						|
    BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
 | 
						|
    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
 | 
						|
    SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
 | 
						|
    PURPOSE OR NON-INFRINGING.  THE ENTIRE RISK AS TO THE QUALITY AND
 | 
						|
    PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU.  SHOULD ANY
 | 
						|
    COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
 | 
						|
    INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
 | 
						|
    NECESSARY SERVICING, REPAIR OR CORRECTION.  THIS DISCLAIMER OF
 | 
						|
    WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.  NO USE OF
 | 
						|
    ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
 | 
						|
    DISCLAIMER.
 | 
						|
 | 
						|
6. TERMINATION.
 | 
						|
 | 
						|
    6.1. This License and the rights granted hereunder will terminate
 | 
						|
    automatically if You fail to comply with terms herein and fail to
 | 
						|
    cure such breach within 30 days of becoming aware of the breach.
 | 
						|
    Provisions which, by their nature, must remain in effect beyond
 | 
						|
    the termination of this License shall survive.
 | 
						|
 | 
						|
    6.2. If You assert a patent infringement claim (excluding
 | 
						|
    declaratory judgment actions) against Initial Developer or a
 | 
						|
    Contributor (the Initial Developer or Contributor against whom You
 | 
						|
    assert such claim is referred to as "Participant") alleging that
 | 
						|
    the Participant Software (meaning the Contributor Version where
 | 
						|
    the Participant is a Contributor or the Original Software where
 | 
						|
    the Participant is the Initial Developer) directly or indirectly
 | 
						|
    infringes any patent, then any and all rights granted directly or
 | 
						|
    indirectly to You by such Participant, the Initial Developer (if
 | 
						|
    the Initial Developer is not the Participant) and all Contributors
 | 
						|
    under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
 | 
						|
    notice from Participant terminate prospectively and automatically
 | 
						|
    at the expiration of such 60 day notice period, unless if within
 | 
						|
    such 60 day period You withdraw Your claim with respect to the
 | 
						|
    Participant Software against such Participant either unilaterally
 | 
						|
    or pursuant to a written agreement with Participant.
 | 
						|
 | 
						|
    6.3. In the event of termination under Sections 6.1 or 6.2 above,
 | 
						|
    all end user licenses that have been validly granted by You or any
 | 
						|
    distributor hereunder prior to termination (excluding licenses
 | 
						|
    granted to You by any distributor) shall survive termination.
 | 
						|
 | 
						|
7. LIMITATION OF LIABILITY.
 | 
						|
 | 
						|
    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
 | 
						|
    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
 | 
						|
    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
 | 
						|
    COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
 | 
						|
    LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
 | 
						|
    CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
 | 
						|
    LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
 | 
						|
    STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
 | 
						|
    COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
 | 
						|
    INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.  THIS LIMITATION OF
 | 
						|
    LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
 | 
						|
    INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
 | 
						|
    APPLICABLE LAW PROHIBITS SUCH LIMITATION.  SOME JURISDICTIONS DO
 | 
						|
    NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
 | 
						|
    CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
 | 
						|
    APPLY TO YOU.
 | 
						|
 | 
						|
8. U.S. GOVERNMENT END USERS.
 | 
						|
 | 
						|
    The Covered Software is a "commercial item," as that term is
 | 
						|
    defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
 | 
						|
    computer software" (as that term is defined at 48
 | 
						|
    C.F.R. 252.227-7014(a)(1)) and "commercial computer software
 | 
						|
    documentation" as such terms are used in 48 C.F.R. 12.212
 | 
						|
    (Sept. 1995).  Consistent with 48 C.F.R. 12.212 and 48
 | 
						|
    C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
 | 
						|
    U.S. Government End Users acquire Covered Software with only those
 | 
						|
    rights set forth herein.  This U.S. Government Rights clause is in
 | 
						|
    lieu of, and supersedes, any other FAR, DFAR, or other clause or
 | 
						|
    provision that addresses Government rights in computer software
 | 
						|
    under this License.
 | 
						|
 | 
						|
9. MISCELLANEOUS.
 | 
						|
 | 
						|
    This License represents the complete agreement concerning subject
 | 
						|
    matter hereof.  If any provision of this License is held to be
 | 
						|
    unenforceable, such provision shall be reformed only to the extent
 | 
						|
    necessary to make it enforceable.  This License shall be governed
 | 
						|
    by the law of the jurisdiction specified in a notice contained
 | 
						|
    within the Original Software (except to the extent applicable law,
 | 
						|
    if any, provides otherwise), excluding such jurisdiction's
 | 
						|
    conflict-of-law provisions.  Any litigation relating to this
 | 
						|
    License shall be subject to the jurisdiction of the courts located
 | 
						|
    in the jurisdiction and venue specified in a notice contained
 | 
						|
    within the Original Software, with the losing party responsible
 | 
						|
    for costs, including, without limitation, court costs and
 | 
						|
    reasonable attorneys' fees and expenses.  The application of the
 | 
						|
    United Nations Convention on Contracts for the International Sale
 | 
						|
    of Goods is expressly excluded.  Any law or regulation which
 | 
						|
    provides that the language of a contract shall be construed
 | 
						|
    against the drafter shall not apply to this License.  You agree
 | 
						|
    that You alone are responsible for compliance with the United
 | 
						|
    States export administration regulations (and the export control
 | 
						|
    laws and regulation of any other countries) when You use,
 | 
						|
    distribute or otherwise make available any Covered Software.
 | 
						|
 | 
						|
10. RESPONSIBILITY FOR CLAIMS.
 | 
						|
 | 
						|
    As between Initial Developer and the Contributors, each party is
 | 
						|
    responsible for claims and damages arising, directly or
 | 
						|
    indirectly, out of its utilization of rights under this License
 | 
						|
    and You agree to work with Initial Developer and Contributors to
 | 
						|
    distribute such responsibility on an equitable basis.  Nothing
 | 
						|
    herein is intended or shall be deemed to constitute any admission
 | 
						|
    of liability.
 | 
						|
 | 
						|
--------------------------------------------------------------------
 | 
						|
 | 
						|
NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND
 | 
						|
DISTRIBUTION LICENSE (CDDL)
 | 
						|
 | 
						|
For Covered Software in this distribution, this License shall
 | 
						|
be governed by the laws of the State of California (excluding
 | 
						|
conflict-of-law provisions).
 | 
						|
 | 
						|
Any litigation relating to this License shall be subject to the
 | 
						|
jurisdiction of the Federal Courts of the Northern District of
 | 
						|
California and the state courts of the State of California, with
 | 
						|
venue lying in Santa Clara County, California.
 |