Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raidz #2

Closed
wants to merge 705 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
705 commits
Select commit Hold shift + click to select a range
ba434b1
Fix zfs_xattr_owner_unlinked on FreeBSD and comment
mattmacy Dec 16, 2019
ad97643
initramfs: setup keymapping and video for prompts
rlaager Dec 17, 2019
e8b199f
Force systems with kernel option "quiet" to display prompt for password
ghfields Dec 18, 2019
3035f14
Moves Codecov Ignore to LCOV
Dec 18, 2019
fe56484
Create symbolic links in /dev/disk/by-vdev for nvme disk devices
geppi Dec 18, 2019
118fc3e
Minor performance fix for NEON RAID-Z
rdolbeau Dec 18, 2019
7839c4b
Update ZTS to work on FreeBSD
mattmacy Dec 18, 2019
b8a899e
Exchanged two "${ZFS} get -H -o value" commands
ghfields Dec 18, 2019
5215fdd
cppcheck: (error) Uninitialized variable
Dec 13, 2019
7cf1fe6
cppcheck: (error) Uninitialized variable
Dec 14, 2019
abfdb83
cppcheck: (error) Shifting signed 64-bit value by 63 bits
Dec 14, 2019
fe20400
cppcheck: (error) Memory leak: vtoc
behlendorf Dec 16, 2019
070402f
cppcheck: (warning) Possible null pointer dereference: dnp
behlendorf Dec 16, 2019
1e49b28
cppcheck: (error) Null pointer dereference: who_perm
behlendorf Dec 16, 2019
487bdda
cppcheck: (error) Address of local auto-variable assigned
behlendorf Dec 16, 2019
d16a207
cppcheck: (warning) Possible null pointer dereference: nvh
behlendorf Dec 17, 2019
a364048
Update zfs.sh work on FreeBSD
Dec 19, 2019
523fc80
Tests for btree implementation used by range trees
jwk404 Dec 19, 2019
5e8ac05
ZTS: Various test case fixes
behlendorf Dec 19, 2019
9fb2771
Colorize zpool status output
tonyhutter Dec 20, 2019
54aefa6
Fix test pattern in zts-report.py
Dec 20, 2019
c587b2c
Update maximum kernel version to 5.4
behlendorf Dec 23, 2019
80bde2c
ZTS: Test case failures
behlendorf Dec 26, 2019
635a01a
Cancel initialize and TRIM before vdev_metaslab_fini()
behlendorf Dec 26, 2019
8cda5c5
libspl: declare aok extern in header
dankamongmen Dec 26, 2019
ad353e2
In initramfs, do not prompt if keylocation is "file://"
sam-lunt Dec 26, 2019
d5c97f3
Avoid some crashes when importing a pool with corrupt metadata
smokris Dec 26, 2019
590ff61
ZTS: devices_001_pos and devices_002_neg
behlendorf Dec 27, 2019
a6f6ef8
ZTS: zfs_program_json
behlendorf Dec 27, 2019
edb24be
ZTS: Replace /var/tmp with $TEST_BASE_DIR
behlendorf Dec 28, 2019
2c47bd5
ZTS: Fix pool_state cleanup
behlendorf Dec 28, 2019
153db76
zfs-load-key.sh: ${ZFS} is not the zfs binary
bencord0 Dec 29, 2019
8b3438e
zdb: print block checksums with 6 d's of verbosity
nedbass Dec 30, 2019
82e996c
Improve Pull Request guidelines
Dec 30, 2019
54007c7
Add FreeBSD core handling in zloop.sh
Jan 2, 2020
cc618d1
Static symbols exported by ICP
behlendorf Jan 3, 2020
d7164b2
ZTS: Move dumpdev tests to sunos.run
Jan 3, 2020
665684d
ZTS: Add helper for disk device check
Jan 3, 2020
33dc49e
Fix ZPOOL_VDEV_NAME_PATH option description
behlendorf Jan 6, 2020
581ca28
ZTS: Cleanup partition tables
behlendorf Jan 6, 2020
bc9cef1
Fix QAT allocation failure return value
behlendorf Jan 6, 2020
c24fa4b
Fix "zpool add -n" for dedup, special and log devices
loli10K Jan 6, 2020
798b2b8
ZTS: Add sunos.run to dist data
Jan 7, 2020
6770951
zfs-module-parameters(5): add all missing items
DeHackEd Jan 7, 2020
028e3b3
Avoid here-documents in systemd mount generator
lhuedepohl Jan 8, 2020
f8d55b9
ZTS: Eliminate functions named 'random'
Jan 8, 2020
4abd7d8
Remove parameter names from libzfs.h signatures
dankamongmen Jan 9, 2020
90ae487
ZTS: Provide an alternative to shuf for FreeBSD
Jan 9, 2020
36e5b4a
Performance tests, fio enhancements
Jan 9, 2020
9ab6109
ZTS: Improve zts-auto_offline_001_pos
behlendorf Jan 10, 2020
ba0ba69
Add 'zfs send --saved' flag
Jan 10, 2020
6e1c594
ZTS: Create xattr helpers to hide platform
Jan 10, 2020
602f667
ZTS: Clean up properties.shlib a bit
Jan 13, 2020
a4c3e3c
ZTS: Remove obsolete zts-report.py exceptions
behlendorf Jan 14, 2020
e458fcc
Change http://zfsonlinux.org links to https://zfsonlinux.org
behlendorf Jan 14, 2020
68a192e
libzfs: add zfs_mount_at() function
kevans91 Jan 14, 2020
7e2da77
KMC_KVMEM disrupts kv_alloc() memory alignment expectations
loli10K Jan 14, 2020
f744f36
Document zfs change-key caveats
rlaager Jan 14, 2020
61152d1
Fix errata #4 handling for resuming streams
Jan 14, 2020
2476f10
ZTS: Catalog tunable names for tests in tunables.cfg
Jan 14, 2020
900010d
ZTS: Remove some path workarounds for FreeBSD
Jan 15, 2020
83c3024
ZTS: Fix is_physical_device on FreeBSD
Jan 15, 2020
6f48161
ZTS: Avoid using PCRE with grep in zdb tests
Jan 15, 2020
1bb5f5e
ZTS: Fix ksh path in btree tests
Jan 16, 2020
1b64627
ZFS performance suite should use JSON fio output
tonynguien Jan 16, 2020
f12e42c
zdb -d should accept the numeric objset id
PaulZ-98 Jan 16, 2020
31712a7
ZTS: Fix incorrect is_physical_device usage
Jan 16, 2020
e5030fb
ZTS: Enable zpool_create_008_pos.ksh
behlendorf Jan 17, 2020
70835c5
Unify target_cpu handling
behlendorf Jan 17, 2020
914bd02
ZTS: Make DVA pattern in zdb tests more robust
Jan 17, 2020
09436c5
ZTS: Eliminate partitioning in zpool_import setup
Jan 17, 2020
d3c1e45
Re-consolidate zio_delay_interrupt
mattmacy Jan 21, 2020
af26a86
Update tunable macro usage for disable_ivset_guid_check
mattmacy Jan 21, 2020
5206b82
Disable get_numeric_property for xattr on FreeBSD
mattmacy Jan 21, 2020
79add96
Order zfs-import-*.service after multipathd
rlaager Jan 22, 2020
e2ef1cb
Support inheriting properties in channel programs
jasonbking Jan 23, 2020
3d91490
Simplify FreeBSD's locking requirements in zfs_replay.c
mattmacy Jan 23, 2020
7b53e2e
cmd/zfs: send: meaningful error message for incorrect redaction bookmark
problame Nov 23, 2019
f658f61
cmd/zfs: redact: better error message for common usage errors
problame Nov 25, 2019
0ea03c7
dmu_send: redacted: fix memory leak on invalid redaction/from bookmark
problame Jan 18, 2020
1a69856
ZTS: Add missing export for DEV_DSKDIR default
Jan 23, 2020
35b0749
Add AltiVec RAID-Z
rdolbeau Jan 23, 2020
dbfec5c
ZTS: Get xattr tests running on FreeBSD
Jan 24, 2020
603059e
scripts/zfs-test.sh: example for -t
problame Jan 24, 2020
3aea3c9
entity_namecheck: doc comment: include space as allowed character
problame Jan 24, 2020
20ea854
dsl_bookmark_create_check: fix NULL pointer deref if dbca_errors == NULL
problame Jan 24, 2020
0d37c2b
ZTS: zpool offline requires whole disk name
jwk404 Jan 24, 2020
8e9e90b
Performance tests, some variables missing PERF_ prefix
tonynguien Jan 24, 2020
a340316
zdb: add support for object ranges for zdb -d
nedbass Jan 24, 2020
e4c4390
ZTS: Move more tests out of common.run
Jan 27, 2020
25df8fb
Add an .editorconfig; document git whitespace settings
grahamc Jan 27, 2020
7a298ae
ZTS: Eliminate random and shuf, consolidate code
Jan 28, 2020
0ecd910
ZTS: Don't use edonr on FreeBSD
Jan 28, 2020
74b4d34
ZTS: Reverse constrained path lookup order
Jan 29, 2020
395a6b1
ZTS: Simplify zero_partitions on FreeBSD
Jan 29, 2020
9d8ce24
ZTS: FreeBSD tunable for DISABLE_IVSET_GUID_CHECK
Jan 29, 2020
a3bddd4
ZTS: Fix a few defaults
Jan 31, 2020
1243079
Use the correct spelling of 'jailed' in tests
Jan 31, 2020
fe7c159
Left-align index props
Jan 31, 2020
591505d
ZTS: Only use ext4 on Linux
Jan 31, 2020
147622b
Disable "-fipa-sra" when using "--enable-debuginfo"
Feb 3, 2020
ec21397
async zvol minor node creation interferes with receive
ahrens Feb 3, 2020
07bc2bc
Fix const-correctness in raidz math
Feb 3, 2020
8c4987c
Restore aclmode and remove acltype on FreeBSD
Feb 4, 2020
52c487a
Use -Werror to check if the compiler supports specific options
12101111 Feb 4, 2020
741db5a
Prepare ks_data before calling kstat_install()
amotin Feb 4, 2020
cccbed9
Convert dbuf dirty record record list to a list_t
mattmacy Feb 5, 2020
cbd8f5b
Few microoptimizations to dbuf layer
amotin Feb 5, 2020
81acb1e
Suggest using visudo to edit
Gerardwx Feb 5, 2020
5b7e6a3
Fix unknown cc flag -fno-ipa-sra
Feb 6, 2020
af09c05
Fix static data to link with -fno-common
rdolbeau Feb 6, 2020
77122f9
Replace static per-cpu with dynamic per-cpu data
rdolbeau Feb 6, 2020
e0ce98d
Reduce number of atomic_add() calls in aggsum
amotin Feb 6, 2020
0dd7364
Linux 5.6 compat: struct proc_ops
behlendorf Feb 6, 2020
795699a
Linux 5.6 compat: timestamp_truncate()
behlendorf Feb 6, 2020
9825e7a
ZTS: Use wc -c instead of --bytes for portability
Feb 7, 2020
818d4a8
ZTS: Add an is_dilos function for future ZTS updates
ikozhukhov Feb 7, 2020
fa3922d
Factor out dbuf_sync_bonus
mattmacy Feb 7, 2020
31b160f
ICP: Improve AES-GCM performance
AttilaFueloep Feb 10, 2020
572b5b3
ZTS: Test zvol I/O in different volmodes
Feb 10, 2020
57940b4
Share some code for spa deadman tunables
Feb 10, 2020
dda702f
bash scripts: use /usr/bin/env for bash shebangs
grahamc Feb 10, 2020
bc67cba
Fix zdb -R with 'b' flag
PaulZ-98 Feb 10, 2020
dceeca5
Add missing dmu_buf_unlock_parent() calls to dbuf_read_impl()
behlendorf Feb 10, 2020
7b49bbc
Address Coverity warnings in #9902
mattmacy Feb 11, 2020
a73f361
Implement bookmark copying
problame Nov 11, 2019
948f0c4
zcp: add zfs.sync.bookmark
problame Jan 16, 2020
12f7b90
zdb: Always print symlink target
jakeogh Feb 12, 2020
1bbeb6d
ZTS: Move zpool_split_wholedisks to linux.run
Feb 12, 2020
e7be5c4
Move zfs_version_kernel to platform code
Feb 12, 2020
9c536b9
ZTS: Fix zdb_display_block on FreeBSD
Feb 12, 2020
834f274
ZTS: Interpret env vars in faketty on FreeBSD
Feb 12, 2020
610eec4
ZTS: Move user_namespace test to linux.run
Feb 12, 2020
465e4e7
Remove duplicate dbufs accounting
amotin Feb 13, 2020
2adc6b3
Missed wakeup when growing kmem cache
ahrens Feb 13, 2020
f49b7a0
fix zstreamdump -C
ahrens Feb 13, 2020
d1d65bb
zfs-mount-generator: Fix escaping for /
rlaager Feb 13, 2020
b90b01c
ZTS: Use ECKSUM instead of EBADE in libzfs test
Feb 13, 2020
523bc0d
Fix a typo/whitespace in tests README
Feb 13, 2020
5ceccda
ZTS: Cleanup some cleanup functions
Feb 13, 2020
3e725f0
ZTS: Eliminate partitioning from write_dirs
Feb 13, 2020
3bdc4f6
ZTS: Eliminate partitioning from zpool_remove
Feb 13, 2020
7143916
ZTS: Don't include zpool_create.shlib in zpool_add
Feb 13, 2020
4f4ddf9
ZTS: Misc test fixes for FreeBSD
Feb 13, 2020
db0ad39
Use POSIX stdout/stderr redirect in configure macro
ahesford Feb 14, 2020
0f18321
Make zpool.d/iostat work on FreeBSD
Feb 14, 2020
4fe3a84
Remove limit on number of async zio_frees of non-dedup blocks
ahrens Feb 14, 2020
13b5a4d
Support setting user properties in a channel program
jasonbking Feb 14, 2020
9d2f3b7
Systemd mount generator: Silence shellcheck warnings
InsanePrawn Jan 11, 2020
ecbbdac
Systemd mount generator: Generate noauto units; add control properties
InsanePrawn Feb 12, 2020
d09dc59
Honour sync=disabled when relinking tpmfiles
DeHackEd Feb 16, 2020
fb63fc0
ZTS: Move cksum to common system commands
Feb 16, 2020
f244846
Prefer org.openzfs for features and properties
rlaager Feb 18, 2020
8b3547a
Factor out some dbuf subroutines and add state change tracing
mattmacy Feb 18, 2020
5f087dd
Enable zpool events tunables and tests on FreeBSD
Feb 18, 2020
43849fd
ZTS: Move free to Linux commands list
Feb 18, 2020
89adffb
Add notice that forcefully unmount is not supported on Linux
oshogbo Feb 18, 2020
392556f
ZTS: Avoid nonportable cmp flag
Feb 19, 2020
873cd18
ZTS: Fix zpool_create/create-o_ashift on FreeBSD
Feb 19, 2020
8136956
ZTS: Eliminate partitioning from zpool_create etc
Feb 20, 2020
65635c3
Fix icp include directories for in-tree build
nivedita76 Feb 20, 2020
325a551
ZTS: Fix faulty slog_replay_fs_001 test
Feb 20, 2020
b11375d
ZTS: Check the right mount options on FreeBSD
Feb 20, 2020
ca7ea23
ZTS: Fix userquota_006_pos on FreeBSD
Feb 20, 2020
6a60841
ZTS: Don't use lsblk on FreeBSD
Feb 21, 2020
f5f4381
ZTS: Move privilege tests to sunos.run
Feb 21, 2020
b7dbbf6
ZTS: Refactor is_shared, fix impl on FreeBSD
Feb 21, 2020
24fcd9f
ZTS: Eliminate partitioning from zpool_destroy
Feb 22, 2020
31a69fb
Remove unused structs and members in dmu_send.c
ahrens Feb 24, 2020
92bd4ca
ZTS: Misc fixes for FreeBSD
Feb 24, 2020
327000c
Remove zfs_getattr and convoff dead code
dbussink Feb 24, 2020
521abcc
Update README for OpenZFS
ahrens Feb 25, 2020
2757010
ZTS: Move atime_003 to linux.run
Feb 25, 2020
c6a6b4d
Remove dead code error handling from dsl_crypt.c
mattmacy Feb 25, 2020
0343139
ZTS: zed_start should not fail if zed is already running
ofaaland Feb 26, 2020
a33cb7e
Add missing newline after zfs redact help message
Feb 26, 2020
3a192f7
ZTS: Misc fixes for FreeBSD
Feb 26, 2020
abef699
ZTS: Adapt casenorm tests for FreeBSD
Feb 26, 2020
647ff8e
ZTS: Fix zfs_copies_002_pos
Feb 26, 2020
28caa74
Refactor dnode dirty context from dbuf_dirty
mattmacy Feb 27, 2020
ff5587d
Linux 5.6 compat: ktime_get_raw_ts64()
behlendorf Feb 26, 2020
2c3a837
Linux 5.6 compat: time_t
behlendorf Feb 26, 2020
ab96461
ZTS: Fix zfs_receive_004_neg
ahrens Feb 27, 2020
3d5ba1c
ZTS: Misc fixes for FreeBSD
Feb 27, 2020
13fac09
Consolidate arc_buf allocation checks
mattmacy Feb 28, 2020
2764103
pyzfs: Add constants for platform-specific errnos
Feb 28, 2020
2ce90dc
arc_summary: Make get_descriptions per platform
Feb 28, 2020
bd0d24e
Linux 5.5 compat: blkg_tryget()
behlendorf Feb 28, 2020
3f99a3a
Fix CONFIG_MODULES=no Linux kernel config
behlendorf Feb 28, 2020
f0410e9
ZTS: Eliminate partitioning from zpool_add
Feb 28, 2020
6c0abcf
ZTS: Fixup shebang in rsend_016, add to common.run
Feb 28, 2020
9cdf7b1
Improve zfs destroy performance with zio_t-free zio_free()
ahrens Feb 28, 2020
ae9f92f
Re-share zfsdev_getminor and zfs_onexit_fd_hold
mattmacy Feb 28, 2020
cf118ae
Don't call zrele on passed zp in zfs_xattr_owner_unlinked on FreeBSD
mattmacy Feb 28, 2020
d32eff3
Don't open zfs control device exclusively
mattmacy Feb 28, 2020
1289fbb
ZTS: Change issue URL template to OpenZFS org
Mar 2, 2020
9bb907b
Make spa_history_zone platform-dependent in kernel
Mar 2, 2020
0a0f9a7
ZTS: Provide for nested cleanup routines
Mar 3, 2020
b3212d2
Improve performance of zio_taskq_member
ahrens Mar 3, 2020
2288d41
Add trim support to zpool wait
behlendorf Mar 4, 2020
d16c029
ZTS: Test the correct filesystem_limits behavior
behlendorf Mar 4, 2020
f49db9b
zio: dprintf_bp() if errors > 0 in zfs_blkptr_verify()
behlendorf Mar 4, 2020
4b06d05
ZTS: Add zts-report exceptions for FreeBSD
behlendorf Mar 4, 2020
fa23c5b
ZTS: Add missing quotes
behlendorf Mar 4, 2020
5a1abc4
ZTS: Speed up write_dirs cleanup
behlendorf Mar 4, 2020
788398c
ZTS: Update zts-report exceptions for FreeBSD
Mar 6, 2020
f5f6fb0
Change default to overlay=on
Mar 6, 2020
2b95e91
ZTS: Another round of changes for FreeBSD
Mar 6, 2020
ff2f960
Systemd mount generator: don't fail keyload from file if already loaded
InsanePrawn Mar 9, 2020
dc4dd46
Make init scripts depend on Makefile
rlaager Feb 6, 2020
49afc91
Delete built init scripts in make clean
rlaager Feb 6, 2020
01243e7
initramfs: Eliminate substitutions
rlaager Feb 23, 2020
5ecbb29
Fix zfs-functions packaging bug
rlaager Feb 6, 2020
9be70c3
ZTS: Simplify some libtest functions
Mar 10, 2020
1dc32a6
Improve zfs send performance by bypassing the ARC
ahrens Mar 10, 2020
ddd9ef3
ZTS: Add a failsafe callback to run after each test
Mar 10, 2020
6187151
zloop.sh should call ZDB with pool name
ofaaland Mar 11, 2020
1e9231a
Prevent deadlock in arc_read in Linux memory reclaim callback
markroper Mar 12, 2020
e6b28ef
Prevent race condition in dnode_dest (#10101)
jwpoduska Mar 12, 2020
e70b127
ZTS: Wait for free space between write_dirs tests
Mar 12, 2020
cdbc34f
ZTS: Test boundary conditions in alloc_class_012
Mar 12, 2020
94eb65b
ZTS: Use correct signal numbers for status checks
Mar 12, 2020
fa130e0
Fix infinite scan on a pool with only special allocations
amotin Mar 12, 2020
0fdd610
dmu_objset_from_ds must be called with dp_config_rwlock held
ahrens Mar 12, 2020
d3fe62c
ZTS: Update flaky tests in zts-report
Mar 13, 2020
c94fb10
Remove CI builder customization from TEST
behlendorf Mar 16, 2020
7261fc2
Improve zfs receive performance by batching writes
ahrens Mar 16, 2020
4d32aba
libzfs: Fix bounds checks for float parsing
Mar 16, 2020
e0d3284
Exit status 256+signum is actually baked in to ksh
Mar 17, 2020
80d98a8
ZTS: Use default_cleanup_noexit where needed
Mar 17, 2020
a57d3d4
Add option for forcible unmounting dataset while receiving snapshot.
oshogbo Mar 17, 2020
5b3b795
ICP: gcm-avx: Support architectures lacking the MOVBE instruction
AttilaFueloep Mar 17, 2020
7145123
Separate warning for incomplete and corrupt streams
pcd1193182 Mar 17, 2020
6b7028e
Fix cstyle warnings
behlendorf Mar 17, 2020
5351951
Fix zfs_rmnode() unlink / rollback issue
behlendorf Mar 18, 2020
4df8b2c
Changed decimals to integers in the arcstat script
Avatat Mar 18, 2020
22df245
Avoid core dump on invalid redaction bookmark
Mar 18, 2020
652bdc9
Deprecate deduplicated send streams
ahrens Mar 18, 2020
1d2ddb9
zfs_get: change time format string from %k to %H
spaghetti- Mar 26, 2020
112c1bf
Remove checks for null out value in encryption paths
dbussink Mar 26, 2020
ef3331e
ZTS: Wait for free space between quota tests
Mar 26, 2020
3f38797
Compile cityhash code into libzfs
ahrens Mar 27, 2020
9a51738
Let default arc_c_max be platform dependent
Mar 27, 2020
c96a32e
ZTS: Skip udev actions in zvol_misc when not Linux
Mar 31, 2020
37c2294
Reset l2ad_hand and l2ad_first in l2arc_evict
gamanakis Mar 31, 2020
0929c4d
Improve ZVOL sync write performance by using a taskq
ahrens Mar 31, 2020
c9e3efd
Bugfix/fix uio partial copies
fsvm88 Apr 1, 2020
5a42ef0
Add 'zfs wait' command
pcd1193182 Apr 1, 2020
b338c49
Merge remote-tracking branch 'upstream/master' into raidz. Does not c…
thorsteneb Apr 3, 2020
9019106
Adapted vdev_raidz.c to refactors in upstream/master
thorsteneb Apr 4, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.{c,h}]
tab_width = 8
indent_style = tab
39 changes: 37 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ configure option should be set. This will enable additional correctness
checks and all the ASSERTs to help quickly catch potential issues.

In addition, there are numerous utilities and debugging files which
provide visibility in to the inner workings of ZFS. The most useful
provide visibility into the inner workings of ZFS. The most useful
of these tools are discussed in detail on the [debugging ZFS wiki
page](https://github.com/zfsonlinux/zfs/wiki/Debugging).

Expand Down Expand Up @@ -120,6 +120,9 @@ Otherwise, open a new issue and describe your proposed feature. Why is this
feature needed? What problem does it solve?

### Pull Requests

#### General

* All pull requests must be based on the current master branch and apply
without conflicts.
* Please attempt to limit pull requests to a single commit which resolves
Expand All @@ -133,7 +136,20 @@ logically independent patches which build on each other. This makes large
changes easier to review and approve which speeds up the merging process.
* Try to keep pull requests simple. Simple code with comments is much easier
to review and approve.
* All proposed changes must be approved by a ZFS on Linux organization member.
* If you have an idea you'd like to discuss or which requires additional testing, consider opening it as a draft pull request.
Once everything is in good shape and the details have been worked out you can remove its draft status.
Any required reviews can then be finalized and the pull request merged.

#### Tests and Benchmarks
* Every pull request will by tested by the buildbot on multiple platforms by running the [zfs-tests.sh and zloop.sh](
https://github.com/zfsonlinux/zfs/wiki/Building-ZFS#running-zloopsh-and-zfs-testssh) test suites.
* To verify your changes conform to the [style guidelines](
https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md#style-guides
), please run `make checkstyle` and resolve any warnings.
* Static code analysis of each pull request is performed by the buildbot; run `make lint` to check your changes.
* Test cases should be provided when appropriate.
This includes making sure new features have adequate code coverage.
* If your pull request improves performance, please include some benchmarks.
* The pull request must pass all required [ZFS
Buildbot](http://build.zfsonlinux.org/) builders before
Expand All @@ -142,7 +158,6 @@ builder failures, you may be experiencing a [test suite
issue](https://github.com/zfsonlinux/zfs/issues?q=is%3Aissue+is%3Aopen+label%3A%22Test+Suite%22).
There are also various [buildbot options](https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options)
to control how changes are tested.
* All proposed changes must be approved by a ZFS on Linux organization member.

### Testing
All help is appreciated! If you're in a position to run the latest code
Expand All @@ -162,6 +177,16 @@ We currently use [C Style and Coding Standards for
SunOS](http://www.cis.upenn.edu/%7Elee/06cse480/data/cstyle.ms.pdf) as our
coding convention.

This repository has an `.editorconfig` file. If your editor [supports
editorconfig](https://editorconfig.org/#download), it will
automatically respect most of this project's whitespace preferences.

Additionally, Git can help warn on whitespace problems as well:

```
git config --local core.whitespace trailing-space,space-before-tab,indent-with-non-tab,-tab-in-indent
```

### Commit Message Formats
#### New Changes
Commit messages for new changes must meet the following guidelines:
Expand Down Expand Up @@ -290,3 +315,13 @@ Git can append the `Signed-off-by` line to your commit messages. Simply
provide the `-s` or `--signoff` option when performing a `git commit`.
For more information about writing commit messages, visit [How to Write
a Git Commit Message](https://chris.beams.io/posts/git-commit/).

#### Co-authored By
If someone else had part in your pull request, please add the following to the commit:
`Co-authored-by: Name <gitregistered@email.address>`
This is useful if their authorship was lost during squashing, rebasing, etc.,
but may be used in any situation where there are co-authors.

The email address used here should be the same as on the GitHub profile of said user.
If said user does not have their email address public, please use the following instead:
`Co-authored-by: Name <[username]@users.noreply.github.com>`
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
<!--- If your change is a performance enhancement, please provide benchmarks here. -->
<!--- Please think about using the draft PR feature if appropriate -->

### Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
Expand All @@ -36,5 +37,5 @@ https://github.com/zfsonlinux/zfs/wiki/Buildbot-Options
- [ ] I have updated the documentation accordingly.
- [ ] I have read the [**contributing** document](https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md).
- [ ] I have added [tests](https://github.com/zfsonlinux/zfs/tree/master/tests) to cover my changes.
- [ ] All new and existing tests passed.
- [ ] I have run the ZFS Test Suite with this change applied.
- [ ] All commit messages are properly formatted and contain [`Signed-off-by`](https://github.com/zfsonlinux/zfs/blob/master/.github/CONTRIBUTING.md#signed-off-by).
5 changes: 4 additions & 1 deletion .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ codecov:
after_n_builds: 2 # user and kernel

coverage:
precision: 2 # 2 digits of precision
precision: 0 # 0 decimals of precision
round: nearest # Round to nearest precision point
range: "50...90" # red -> yellow -> green

status:
Expand All @@ -20,3 +21,5 @@ comment:
layout: "reach, diff, flags, footer"
behavior: once # update if exists; post new; skip if deleted
require_changes: yes # only post when coverage changes

# ignore: Please place any ignores in config/ax_code_coverage.m4 instead
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Makefile.in
# Top level generated files specific to this top level dir
#
/bin
/build
/configure
/config.log
/config.status
Expand All @@ -62,4 +63,3 @@ cscope.*
*.orig
*.log
venv

6 changes: 5 additions & 1 deletion COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ notable exceptions and their respective licenses include:
* AES Implementation: module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman
* AES Implementation: module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl
* PBKDF2 Implementation: lib/libzfs/THIRDPARTYLICENSE.openssl
* SPL Implementation: module/spl/THIRDPARTYLICENSE.gplv2
* SPL Implementation: module/os/linux/spl/THIRDPARTYLICENSE.gplv2
* GCM Implementaion: module/icp/asm-x86_64/modes/THIRDPARTYLICENSE.cryptogams
* GCM Implementaion: module/icp/asm-x86_64/modes/THIRDPARTYLICENSE.openssl
* GHASH Implementaion: module/icp/asm-x86_64/modes/THIRDPARTYLICENSE.cryptogams
* GHASH Implementaion: module/icp/asm-x86_64/modes/THIRDPARTYLICENSE.openssl

This product includes software developed by the OpenSSL Project for use
in the OpenSSL Toolkit (http://www.openssl.org/)
Expand Down
4 changes: 2 additions & 2 deletions META
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Release: 1
Release-Tags: relext
License: CDDL
Author: OpenZFS on Linux
Linux-Maximum: 5.1
Linux-Minimum: 2.6.32
Linux-Maximum: 5.4
Linux-Minimum: 3.10
66 changes: 47 additions & 19 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,28 @@ include config/rpm.am
include config/deb.am
include config/tgz.am

SUBDIRS = include rpm
SUBDIRS = include
if BUILD_LINUX
SUBDIRS += rpm
endif

if CONFIG_USER
SUBDIRS += udev etc man scripts lib tests cmd contrib
SUBDIRS += etc man scripts lib tests cmd contrib
if BUILD_LINUX
SUBDIRS += udev
endif
endif
if CONFIG_KERNEL
SUBDIRS += module

extradir = $(prefix)/src/zfs-$(VERSION)
extra_HEADERS = zfs.release.in zfs_config.h.in

if BUILD_LINUX
kerneldir = $(prefix)/src/zfs-$(VERSION)/$(LINUX_VERSION)
nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
endif
endif

AUTOMAKE_OPTIONS = foreign
EXTRA_DIST = autogen.sh copy-builtin
Expand All @@ -25,11 +34,16 @@ EXTRA_DIST += META AUTHORS COPYRIGHT LICENSE NEWS NOTICE README.md
EXTRA_DIST += CODE_OF_CONDUCT.md

# Include all the extra licensing information for modules
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE module/icp/algs/skein/THIRDPARTYLICENSE.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip
EXTRA_DIST += module/spl/THIRDPARTYLICENSE.gplv2 module/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash module/zfs/THIRDPARTYLICENSE.cityhash.descrip
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE
EXTRA_DIST += module/icp/algs/skein/THIRDPARTYLICENSE.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.gladman.descrip
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl
EXTRA_DIST += module/icp/asm-x86_64/aes/THIRDPARTYLICENSE.openssl.descrip
EXTRA_DIST += module/os/linux/spl/THIRDPARTYLICENSE.gplv2
EXTRA_DIST += module/os/linux/spl/THIRDPARTYLICENSE.gplv2.descrip
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash
EXTRA_DIST += module/zfs/THIRDPARTYLICENSE.cityhash.descrip

@CODE_COVERAGE_RULES@

Expand All @@ -39,8 +53,9 @@ gitrev:

BUILT_SOURCES = gitrev

# Double-colon rules are allowed; there are multiple independent definitions.
distclean-local::
-$(RM) -R autom4te*.cache
-$(RM) -R autom4te*.cache build
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
-o -name .pc -o -name .hg -o -name .git \) -prune -o \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
Expand All @@ -52,13 +67,15 @@ distclean-local::
-type f -print | xargs $(RM)

all-local:
-${top_srcdir}/scripts/zfs-tests.sh -c
-[ -x ${top_builddir}/scripts/zfs-tests.sh ] && \
${top_builddir}/scripts/zfs-tests.sh -c

dist-hook: gitrev
cp ${top_srcdir}/include/zfs_gitrev.h $(distdir)/include; \
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
sed ${ac_inplace} -e 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
$(distdir)/META

if BUILD_LINUX
# For compatibility, create a matching spl-x.y.z directly which contains
# symlinks to the updated header and object file locations. These
# compatibility links will be removed in the next major release.
Expand All @@ -75,6 +92,7 @@ install-data-hook:
ln -fs zfs_config.h spl_config.h && \
ln -fs zfs.release spl.release
endif
endif

codecheck: cstyle shellcheck flake8 mancheck testscheck vcscheck

Expand All @@ -86,16 +104,19 @@ commitcheck:
fi

cstyle:
@find ${top_srcdir} -name '*.[hc]' ! -name 'zfs_config.*' \
! -name '*.mod.c' -type f \
@find ${top_srcdir} -name build -prune -o -name '*.[hc]' \
! -name 'zfs_config.*' ! -name '*.mod.c' -type f \
-exec ${top_srcdir}/scripts/cstyle.pl -cpP {} \+

filter_executable = -exec test -x '{}' \; -print

shellcheck:
@if type shellcheck > /dev/null 2>&1; then \
shellcheck --exclude=SC1090 --format=gcc \
shellcheck --exclude=SC1090 --exclude=SC1117 --format=gcc \
$$(find ${top_srcdir}/scripts/*.sh -type f) \
$$(find ${top_srcdir}/cmd/zed/zed.d/*.sh -type f) \
$$(find ${top_srcdir}/cmd/zpool/zpool.d/* -executable); \
$$(find ${top_srcdir}/cmd/zpool/zpool.d/* \
-type f ${filter_executable}); \
else \
echo "skipping shellcheck because shellcheck is not installed"; \
fi
Expand All @@ -110,12 +131,19 @@ mancheck:
echo "skipping mancheck because mandoc is not installed"; \
fi

if BUILD_LINUX
stat_fmt = -c '%A %n'
else
stat_fmt = -f '%Sp %N'
endif

testscheck:
@find ${top_srcdir}/tests/zfs-tests/tests -type f \
\( -name '*.ksh' -not -executable \) -o \
\( -name '*.kshlib' -executable \) -o \
\( -name '*.cfg' -executable \) | \
xargs -r stat -c '%A %n' | \
@find ${top_srcdir}/tests/zfs-tests -type f \
\( -name '*.ksh' -not ${filter_executable} \) -o \
\( -name '*.kshlib' ${filter_executable} \) -o \
\( -name '*.shlib' ${filter_executable} \) -o \
\( -name '*.cfg' ${filter_executable} \) | \
xargs -r stat ${stat_fmt} | \
awk '{c++; print} END {if(c>0) exit 1}'

vcscheck:
Expand Down
29 changes: 17 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,36 @@
![img](http://zfsonlinux.org/images/zfs-linux.png)
![img](https://github.com/openzfs/zfs/wiki/img/480px-Open-ZFS-Secondary-Logo-Colour-halfsize.png)

ZFS on Linux is an advanced file system and volume manager which was originally
OpenZFS is an advanced file system and volume manager which was originally
developed for Solaris and is now maintained by the OpenZFS community.
This repository contains the code for running OpenZFS on Linux and FreeBSD.

[![codecov](https://codecov.io/gh/zfsonlinux/zfs/branch/master/graph/badge.svg)](https://codecov.io/gh/zfsonlinux/zfs)
[![coverity](https://scan.coverity.com/projects/1973/badge.svg)](https://scan.coverity.com/projects/zfsonlinux-zfs)
[![codecov](https://codecov.io/gh/openzfs/zfs/branch/master/graph/badge.svg)](https://codecov.io/gh/openzfs/zfs)
[![coverity](https://scan.coverity.com/projects/1973/badge.svg)](https://scan.coverity.com/projects/openzfs-zfs)

# Official Resources

* [Site](http://zfsonlinux.org)
* [Wiki](https://github.com/zfsonlinux/zfs/wiki)
* [Mailing lists](https://github.com/zfsonlinux/zfs/wiki/Mailing-Lists)
* [OpenZFS site](http://open-zfs.org/)
* [Wiki](https://github.com/openzfs/zfs/wiki) - for using and developing this repo
* [ZoL Site](https://zfsonlinux.org) - Linux release info & links
* [Mailing lists](https://github.com/openzfs/zfs/wiki/Mailing-Lists)
* [OpenZFS site](http://open-zfs.org/) - for conference videos and info on other platforms (illumos, OSX, Windows, etc)

# Installation

Full documentation for installing ZoL on your favorite Linux distribution can
be found at [our site](http://zfsonlinux.org/).
Full documentation for installing OpenZFS on your favorite Linux distribution can
be found at the [ZoL Site](https://zfsonlinux.org/).

FreeBSD support is a work in progress. See the [PR](https://github.com/openzfs/zfs/pull/8987).

# Contribute & Develop

We have a separate document with [contribution guidelines](./.github/CONTRIBUTING.md).

We have a [Code of Conduct](./CODE_OF_CONDUCT.md).

# Release

ZFS on Linux is released under a CDDL license.
OpenZFS is released under a CDDL license.
For more details see the NOTICE, LICENSE and COPYRIGHT files; `UCRL-CODE-235197`

# Supported Kernels
* The `META` file contains the officially recognized supported kernel versions.
* The `META` file contains the officially recognized supported Linux kernel versions.
Loading