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

merge 'windows' branch from upstream #34

Merged
merged 633 commits into from
Mar 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
633 commits
Select commit Hold shift + click to select a range
bf12053
zpool: main: const correctness, use time_t for time
nabijaczleweli Jan 12, 2022
0f7a0cc
libzfs: const correctness
nabijaczleweli Jan 12, 2022
bde0f7d
zpool: main: print hostids with PRIx64
nabijaczleweli Jan 12, 2022
0481eab
libzfs: share_proto: constify, staticify
nabijaczleweli Jan 12, 2022
a401a2c
zpool: misc. cleanup
nabijaczleweli Jan 12, 2022
1ef6869
linux: libspl: zone: () -> (void)
nabijaczleweli Jan 12, 2022
61b5b27
libtpool: remove useless CSTYLED
nabijaczleweli Jan 12, 2022
3c617c7
libzfs: mount: don't leak mnt_param_t if mnt_func fails
nabijaczleweli Jan 12, 2022
01a0039
libzfs_sendrecv: Use size_t for payload_len
Jul 27, 2021
1488e82
libzfs_sendrecv: Simplify out guid temporary
Jul 27, 2021
af2b1fb
libzfs_sendrecv: Avoid extra avl_find
Jul 27, 2021
f2b36b2
libzfs_sendrecv: Fix leaked holds nvlist
Jul 27, 2021
dd59c42
libzfs_sendrecv: Style pass on send_iterate_snap
Jul 27, 2021
2b6b711
libzfs_sendrecv: Style pass on send_iterate_prop
Jul 27, 2021
0c1c746
libzfs_sendrecv: Style pass on send_iterate_fs
Jul 27, 2021
a8747c0
libzfs_sendrecv: Style pass on zfs_send_space
Aug 5, 2021
25074b4
libzfs_sendrecv: Style pass on dump_ioctl
Aug 5, 2021
24f1aa0
libzfs_sendrecv: Initialize in case of failure
Aug 5, 2021
fbcc25c
libzfs_sendrecv: Pull header line out of loop
Aug 12, 2021
447e90e
libzfs_sendrecv: Style pass on send_print_verbose
Aug 12, 2021
1ae7835
libzfs_sendrecv: Style pass on dump_snapshot
Aug 18, 2021
1910a30
libzfs_sendrecv: Style pass on dump_filesystem
Aug 18, 2021
4593222
libzfs_sendrecv: Style pass on dump_filesystems
Aug 18, 2021
2fafbfd
libzfs_sendrecv: Fix some comment style nits
Sep 13, 2021
102eb67
libzfs_sendrecv: Refactor find_redact_book
Sep 13, 2021
d1a38ee
libzfs_sendrecv: Factor out lzc_flags_from_resume_nvl
Sep 13, 2021
15aa386
Simplify resume token generation
Nov 8, 2021
955bf4d
Fix trivial calloc(3) arguments order
kusumi Feb 2, 2022
142a501
Notice if the test-runner dies
nabijaczleweli Feb 2, 2022
f3b08df
Report dnodes with faulty bonuslen
gamanakis Feb 3, 2022
7b468ed
Add enumerated vdev names to 'zpool iostat -v' and 'zpool list -v'
akashb-22 Feb 3, 2022
aa9905d
zed-functions.sh: escape newline to produce valid json
papamoose Feb 3, 2022
63652e1
Add `--enable-asan` and `--enable-ubsan` switches
szubersk Feb 3, 2022
3d244b4
Fix clearing set-uid and set-gid bits on a file when replying a write
pjd Feb 3, 2022
100b895
ZTS: Update enospc_002_pos test case
behlendorf Feb 4, 2022
db87580
dsl_dir_tempreserve_impl: remove unused `deferred` variable
cschwarz-nutanix Feb 4, 2022
2f14ada
zfs_set_prop_nvlist: make it easier to spot the call to dsl_props_set
cschwarz-nutanix Feb 4, 2022
f2c5bc1
Add more control/visibility to spa_load_verify().
amotin Feb 4, 2022
1dccfd7
zvol: make calls to platform ops static
cschwarz-nutanix Feb 7, 2022
add15e9
Extract workflows dependencies
szubersk Feb 7, 2022
8df0bde
Add `--enable=all` to ShellCheck by default
szubersk Feb 7, 2022
5f65d00
Remove unneeded "extern inline" function declarations
kusumi Feb 8, 2022
d7a6740
`mount.zfs -o zfsutil` leverages `zfs_mount_at()`
szubersk Feb 8, 2022
e2909fa
Remove unused files from GitHub runners
szubersk Feb 9, 2022
8e94ac0
Linux 5.16 compat: don't use XSTATE_XSAVE to save FPU state
AttilaFueloep Feb 9, 2022
b66140c
Add support for $KERNEL_{CC,LD,LLVM} variables
Peter-Levine Feb 2, 2022
4eea717
Propagate KERNEL_* to *.spec
szubersk Feb 8, 2022
c28d6ab
Rename EMPTY_TASKQ into taskq_empty
lundman Feb 9, 2022
68ddc06
Receive checks should allow unencrypted child datasets
AttilaFueloep Feb 9, 2022
3819aaa
Add dataset_kstats_update.. to mmap read/write paths
drowfx Feb 9, 2022
399159f
ZTS: Fix zvol_misc_volmode test
behlendorf Feb 10, 2022
34ec548
dracut: README: rewrite
nabijaczleweli Jan 26, 2022
b8d9679
contrib: dracut: zfs-{rollback,snapshot}-bootfs: don't shell for test
nabijaczleweli Jan 26, 2022
4a4e168
contrib: rename initrd READMEs to README.md
nabijaczleweli Jan 26, 2022
0a22240
Correct a typo in zfs-receive.8
chuangzhu Feb 11, 2022
17fd8f6
zpoolprops.7: document leaked
nabijaczleweli Feb 11, 2022
a9e62ec
zpool-import.8: newpool is Ar, not Sy
nabijaczleweli Feb 10, 2022
4ea4a46
zpool-import.8: WARNING should be emphasised
nabijaczleweli Feb 10, 2022
fe804dc
ZTS: Fix problem with zdb_objset_id test
PaulZ-98 Feb 11, 2022
10271af
Fix gcc warning in kfpu_begin()
behlendorf Feb 11, 2022
b7baf49
ZTS: Fix zpool_expand_001_pos
behlendorf Feb 13, 2022
9f734e8
ZTS: Fix checkpoint_ro_rewind.ksh
behlendorf Feb 13, 2022
dec1eef
Silence uninitialized warnings in dsl_dataset.c
rincebrain Feb 14, 2022
4631bf7
zfs-receive.8: fix Op Fl x Ar encryption in running text
nabijaczleweli Feb 14, 2022
0c8aab9
zfs-receive.8: properly unlight = in option setting
nabijaczleweli Feb 14, 2022
ae07fc1
libzfs: sendrecv: fix missing error output for invalid properties
nabijaczleweli Feb 14, 2022
9a70e97
Rename fallthrough to zfs_fallthrough
lundman Feb 15, 2022
a270861
Windows: bring in SPL sourcefiles
lundman Jul 31, 2020
40074ca
Windows: ZFS source file place holders
lundman Jul 31, 2020
445a55b
Windows: Add source files and CMake
lundman Oct 30, 2020
edfe7e5
Windows: Compile kernel driver, and load
lundman Nov 22, 2020
dab0f6c
Windows: bring in userland
lundman Nov 24, 2020
68c2a6c
Windows: port userland, and cmd/zpool
lundman Dec 15, 2020
7fb88f3
Upstream: add termios.h
lundman Dec 15, 2020
d39b845
Upstream: highbits64 already defined.
lundman Dec 15, 2020
94a94b1
Upstream: this probably isn't the header for NORETURN
lundman Dec 15, 2020
05e92b7
Upstream: Add MSVC to comiler directives
lundman Dec 15, 2020
7898dc7
Upstream: No OS xdr header
lundman Dec 15, 2020
9c0565f
Upstream: dance around constructor
lundman Dec 15, 2020
2297e82
Upstream: Additional header
lundman Dec 15, 2020
92c6f2f
Upstream: Add Windows VENDOR
lundman Dec 15, 2020
a4dcc29
Upstrema: Add Windows mount options
lundman Dec 15, 2020
55fe09e
Upstream: Windows will do own run_process
lundman Dec 15, 2020
8b12fe2
Upstream: Use usleep
lundman Dec 15, 2020
656684e
Upstream: Remove dlopen and global var for now
lundman Dec 15, 2020
cd16fe3
Windows: squash
lundman Dec 15, 2020
0229061
Upstream: Add Windows properties
lundman Dec 15, 2020
3e6d4aa
Upstream: No OS libgen.h
lundman Dec 15, 2020
ca06a77
Upstream: No OS uio.h
lundman Dec 15, 2020
4bb1c51
Windows: port cmd/zfs
lundman Dec 17, 2020
6d1726f
Upstream: OS defines highbit64
lundman Dec 17, 2020
cd18125
Windows: bring in cmd/zdb cmd/zstream cmd/kstat
lundman Dec 17, 2020
733a45e
Windows: cmake files
lundman Dec 17, 2020
97a77b6
Windows: source files are not optional
lundman Dec 17, 2020
6adcd52
Windows: Include all sources files
lundman Dec 20, 2020
b76fbc5
Windows: get closer to ioctls working from userland
lundman Dec 21, 2020
bbb36be
Windows: Fix ioctl from userland, basic port works
lundman Dec 22, 2020
dcd42b0
Upstream: Add zfs_resolve_shortname_os()
lundman Dec 23, 2020
38202de
Windows: Add import scan code
lundman Dec 23, 2020
2dcb071
Upstream: Different random on Windows
lundman Dec 23, 2020
8bca4ab
Upstream: Add slash to DEV path to avoid backslashes
lundman Dec 23, 2020
391ebd7
Windows: Porting work
lundman Dec 23, 2020
e5b6177
Upstream: Use of posix_memalign need special free
lundman Dec 28, 2020
ee72612
Windows: Allow all policy calls
lundman Dec 28, 2020
a7b39e6
Windows: Attempt to handle vdev_path and vdev_physpath
lundman Dec 28, 2020
a5426c5
Windows: expand paths to #size#offset#/path
lundman Dec 28, 2020
85a9945
Windows: milestone, create pool
lundman Jan 4, 2021
b7243ca
Upstream: Add mimic property
lundman Jan 4, 2021
6bd51af
Upstream: remove assert
lundman Jan 5, 2021
7e2e04e
Windows: additional work
lundman Jan 5, 2021
218896c
Windows: work on unmount/export
lundman Jan 6, 2021
53dfb8c
Windows: Fix zfs_save_arguments/basename for zpool/zfs
lundman Jan 22, 2021
19f46af
Windows: Fix import scan and vdev_file reading
lundman Jan 25, 2021
b549e16
Windows: Lets not delete pool files and Write shouldnt call read.
lundman Jan 25, 2021
0833266
Windows: Latest import code.
lundman Jan 25, 2021
d665ea0
Windows: change to use cert sha1 and temporarily include gitrev
lundman Jan 26, 2021
ce5cb51
Windows: Add devstudio individual components list
lundman Jan 26, 2021
2733543
Windows: Warnings - low hanging fruit
lundman Jan 26, 2021
73e70e6
Windows: further warnings reduction
lundman Jan 26, 2021
389f44b
Windows: Auto generate zfs_gitrev.h
lundman Jan 27, 2021
94d9b95
Windows: minor header fix
lundman Jan 28, 2021
5e2405a
Windows: Attempt to implement taskq_dispatch_delay()
lundman Jan 28, 2021
6af7a3d
Windows: taskq must clear delay
lundman Jan 29, 2021
a68232c
Windows: Bring in zfsinstaller.exe
lundman Jan 29, 2021
6d7a540
Windows: Redo vdev_disk.c IO to avoid allocations
lundman Jan 30, 2021
e67ecb0
Windows: zfsinstaller used old ZFSin names
lundman Feb 3, 2021
d05e786
Windows: Cleanup CMake work, to build sys
lundman Feb 5, 2021
fa3d7f9
Windows: uninstall was sending wrong ioctl
lundman Feb 8, 2021
8581a55
Windows: zvol_fini uses system_taskq, fix unload order
lundman Feb 9, 2021
69cf1a8
Windows: Add Inno Setup (debug)
lundman Feb 9, 2021
68a394f
Windows: can we keep offset+length separate?
lundman Feb 12, 2021
9541fe2
Revert "Windows: can we keep offset+length separate?"
lundman Feb 12, 2021
6e65d63
Windows: Correct zpool import for disks
lundman Feb 12, 2021
34d1eba
Windows: hack in export\umount
lundman Feb 12, 2021
a6aba26
Windows: vcruntime.dll dependency removal
lundman Feb 12, 2021
559e136
Windows: zpool create fixes
lundman Feb 15, 2021
0931d2b
Upstream: Add partition after zpool_label_disk
lundman Feb 15, 2021
0997ffe
Windows: Can not rely on Windows stat.h
lundman Feb 15, 2021
9a43bc0
Upstream: shorthand path never calls stat()
lundman Feb 15, 2021
4428768
Windows: Allow harddiskXPartitionY shortname
lundman Feb 15, 2021
d93d2d6
Windows: Handle partitions only Offline wholedisk
lundman Feb 16, 2021
b40d577
Upstream: update_vdev_config_dev_strs() can change path
lundman Feb 16, 2021
2e2b1bc
Windows: Handle partition zpool import
lundman Feb 16, 2021
c16aa95
Windows: Fight CMake and OpenSSL
lundman Feb 17, 2021
f2c64a7
Windows: Check for error code when calling zfs_dirlook()
lundman Feb 18, 2021
b252373
Windows: re-arrange the release of stream dvp
lundman Feb 22, 2021
c95db87
Upstream: allow Windows zvols to have 1 longhold
lundman Mar 4, 2021
978daf7
Windows: fix zvol export/destroy
lundman Mar 4, 2021
5981fe1
Upstream: strftime differences cause abort()
lundman Mar 15, 2021
939e008
fix for cstyle. (#13)
lundman Apr 6, 2021
4a1972f
vnode_put(NULL) and missing mutex
lundman Apr 6, 2021
f907736
Upstream: Avoid ASSERTs in zdb
lundman Apr 6, 2021
8b81069
Upstream: ddi_stroul would not return end ptr
lundman Apr 6, 2021
2ea2002
Windows: userland vdev_file needs to handle partition hack
lundman Apr 6, 2021
64071fb
Upstream: aligned_malloc must call aligned_free
lundman Apr 6, 2021
0bb132d
Upstream: Alloc zdb_cd_t, too large for stack
lundman Apr 21, 2021
026b3f4
macOS: make zdb run
lundman Apr 21, 2021
0ae5965
Upstream: userland needs to free aligned
lundman Apr 21, 2021
791f43f
macOS: use the correct memory allocator
lundman Apr 22, 2021
18addf4
Windows: zdb corrections, posix bug fixes
lundman Apr 22, 2021
5bbdf84
share flag fixed for CreateFile (#19)
datacore-skumar Apr 28, 2021
4ec7e1e
dont sign until we get a cert
lundman Jun 29, 2021
dc90cbb
Upstream: work around different API for sbuf_finish()
lundman Feb 24, 2021
040a7bc
Upstream: dmu_redact.c does not call bqueue_destroy
lundman Feb 26, 2021
35d5873
Upstream: Add Windows to abd.h
lundman Jun 30, 2021
d9dbcc3
Large sweeping compile fixes
lundman Jun 30, 2021
5b88909
Windows: compile fixes after rebase
lundman Jul 1, 2021
192830d
Upstream: changes after rebase
lundman Jul 1, 2021
da53a76
Windows: add new files
lundman Jul 1, 2021
d0526e2
Upstream: Add Windows support to OpenZFS
lundman Oct 30, 2020
ebda417
rebase misses.
lundman Jul 2, 2021
76fa595
WIP: Handle scsi unmap/discard requests to zvol_unmap
lundman Apr 14, 2021
ba11666
more compile fixes, loads.
lundman Jul 2, 2021
367ab38
Upstream: Move check_file to os/ section
lundman Apr 4, 2021
c909b6a
Upstream: more memaligned free fixes
lundman Jul 2, 2021
054e49d
More windows fixes, vdev_disk/file table - aoi ignore
lundman Jul 2, 2021
782f6c0
Remove DbgBreakPoint from zvol unmap
lundman Jul 2, 2021
9f0fd28
CPU Hog Fix
datacore-rm Jul 1, 2021
d6fcf9c
ZFS_ENTER has changed
lundman Jul 3, 2021
e1b389d
Fix vp->zp in fs_read/write, and asserts
lundman Jul 3, 2021
8f09d7d
zfs-596:Zpool import not working
datacore-rm Jul 3, 2021
b9c317e
Update kstat and handle invalid fopen modes
lundman Jul 4, 2021
d381610
Update spl-taskq for better taskq_cancel_id
lundman Jul 4, 2021
1215825
Clean up minor things in new taskq and kstat
lundman Jul 4, 2021
e95186a
Windows: spl-kstat is initialized twice
lundman Jul 5, 2021
3c63655
kstat uses separate ioctls and kstat_t must match
lundman Jul 5, 2021
6eaddf8
create vmem buckets with PAGESIZE quantum
lundman Jul 5, 2021
528c837
Windows: implement mmap() wrapper
lundman Jul 5, 2021
ebc75ad
Windows: implement openat() fix struct stat
lundman Jul 6, 2021
7ef1fa2
Upstream: Make compat conf reading handle cr/lf
lundman Jul 6, 2021
9ec1782
Windows: update zvol_os.c to latest
lundman Jul 6, 2021
1ac314f
Windows: add zvol attach and detach
lundman Jul 7, 2021
0e2df1e
Zpool destroy is crashing
datacore-rm Jul 6, 2021
0fd6f12
Revert "Upstream: allow Windows zvols to have 1 longhold"
lundman Jul 7, 2021
0ae9a48
Upstream: attach and detach zvols
lundman Jul 7, 2021
eae73fe
Windows: kstat initial buffer not large enough to hold kmem
lundman Jul 7, 2021
cfdafcc
Windows: DEBUG build default to dprintf messages
lundman Jul 7, 2021
3ab4238
Windows: do not static pthread.h variables
lundman Jul 7, 2021
f9ae463
Upstream: let cache file to be 0-len
lundman Jul 7, 2021
1f4f9cc
miscompare-fix, assign offset to uio
datacore-rm Jul 16, 2021
275204f
SSY DI integration changes
datacore-rm Jul 20, 2021
2713c9a
zvol Direct read/write interface
datacore-rm Jul 22, 2021
1675438
Enable WPP tracing for module/os/windows folder
Aug 10, 2021
97e0d35
Windows: move variable defines to .c file
lundman Aug 14, 2021
258c584
Windows: vcxproj include update to find zfsdi.h
lundman Aug 14, 2021
d923f6e
Windows: struct kstat between userland and kernel must match
lundman Aug 14, 2021
7f4a3e2
Changes for building Release binaries
Aug 16, 2021
f8451ad
Windows: Add SET_ERROR macro
lundman Aug 14, 2021
d1b3fe5
ssv-20352 Handled WMI method GetDiscoveredPortAttributes
datacore-rm Aug 23, 2021
00563a1
assign targetId and lun after zvol is open
datacore-rm Aug 31, 2021
07b5bd1
Enable WPP for module/zfs folder
Aug 31, 2021
21af137
Perfmon counters added
datacore-skumar Sep 6, 2021
84d0bf6
Calling 'arc_kstat_update_windows' for validation and added new tunab…
Sep 9, 2021
de5e875
Setting 'NumberOfPhysicalBreaks=0x21', this will make sure the max IO…
datacore-rm Sep 15, 2021
1abac6a
update driver version in inf during build to support upgrade
datacore-rm Sep 20, 2021
9814d2f
Windows: STOR unload uses dprintf
lundman Sep 29, 2021
6bebd4e
Windows: port of bsdtimeout can not handle NULL
lundman Sep 29, 2021
948cc7a
Windows: set reparse point can panic
lundman Sep 30, 2021
32e2137
Windows: zvol_os_detach() can be called twice
lundman Sep 30, 2021
7d43566
Windows: change wmsum to be a struct
lundman Sep 30, 2021
94291f2
Add OpenZFS.man to the Installer
lundman Sep 30, 2021
23cbc01
File version added
datacore-skumar Sep 24, 2021
16f342a
Windows: handle delete reparse point for unmount
lundman Oct 11, 2021
1ac36d5
Windows: avoiding the zfs_remove_driveletter
lundman Oct 12, 2021
dbbd1d9
Windows: fix panic in procfs_list_destroy()
lundman Oct 12, 2021
3dcbb62
Windows: spl-proclist can not use submodule
lundman Oct 12, 2021
158b594
Windows: Enable ASM in cmake, use setjmp
lundman Oct 13, 2021
05ad53d
Windows: add setjmp implementation
lundman Oct 14, 2021
7718cd4
Windows: fix salt generation
lundman Oct 14, 2021
bba4b0a
Upstream: Skip mkdir on mount
lundman Oct 14, 2021
2183189
Windows: fix bsd_untimeout
lundman Oct 19, 2021
042e8ce
Windows: attempt to release vnodes on unload
lundman Oct 20, 2021
6c1b7f6
Windows: zpool create check for dir not empty
lundman Oct 26, 2021
2f366f1
Upstream: Handle slashes better for Windows
lundman Oct 28, 2021
b750143
Windows: unique_id math off in the exact case.
lundman Oct 28, 2021
b123cad
macOS: zvol_replay must call zil_open
lundman Jul 13, 2021
676387a
Windows: Make sure to allocate key space when key == 0
lundman Nov 12, 2021
6975ca9
Inf2Cat.exe sometimes throws error during build
datacore-rm Nov 12, 2021
e514d29
case insensitive path compare for windows zpool devices
datacore-rm Nov 17, 2021
0416e7a
Windows: avoid UseAfterFree with delayed taskq
lundman Nov 17, 2021
d910cc4
Setting the FILE_OBJECT minor value in the zfs device object state
datacore-rm Dec 7, 2021
57f1f69
fixed FILE_OBJECT corruption issue
datacore-rm Dec 8, 2021
ed9ff87
changing the datatype of zfs_arc_meta_limit to uint64_t
datacore-rm Dec 10, 2021
fa1621f
Set value of zfs-dirty-data-max parameter to 4GB
datacore-rm Feb 2, 2022
6b6d9ad
Windows: compile fixes after rebase.
lundman Feb 21, 2022
5d13638
Upstream: dsl pool.h
lundman Feb 21, 2022
796ce83
Windows: fix prop until squash
lundman Feb 21, 2022
4149d75
Upstream: 64bit arc tunables
lundman Feb 21, 2022
b8c0b73
Upstream: use ATTR not AT
lundman Feb 21, 2022
32152cd
Upstream: Expose zvol state list
lundman Feb 21, 2022
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
  •  
  •  
  •  
16 changes: 9 additions & 7 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve OpenZFS
title: ''
labels: 'Type: Defect, Status: Triage Needed'
labels: 'Type: Defect'
assignees: ''

---
Expand All @@ -25,14 +25,16 @@ Type | Version/Name
--- | ---
Distribution Name |
Distribution Version |
Linux Kernel |
Kernel Version |
Architecture |
ZFS Version |
SPL Version |
OpenZFS Version |
<!--
Commands to find ZFS/SPL versions:
modinfo zfs | grep -iw version
modinfo spl | grep -iw version
Command to find OpenZFS version:
zfs version

Commands to find kernel version:
uname -r # Linux
freebsd-version -r # FreeBSD
-->

### Describe the problem you're observing
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/build-dependencies.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
acl
alien
attr
autoconf
bc
build-essential
curl
dbench
fakeroot
fio
gdb
gdebi
git
ksh
lcov
libacl1-dev
libaio-dev
libattr1-dev
libblkid-dev
libcurl4-openssl-dev
libdevmapper-dev
libelf-dev
libffi-dev
libmount-dev
libpam0g-dev
libselinux-dev
libssl-dev
libtool
libudev-dev
lsscsi
mdadm
nfs-kernel-server
pamtester
parted
python3
python3-cffi
python3-dev
python3-packaging
python3-setuptools
rng-tools
samba
sysstat
uuid-dev
watchdog
wget
xfslibs-dev
xz-utils
zlib1g-dev
44 changes: 32 additions & 12 deletions .github/workflows/checkstyle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,31 +6,51 @@ on:

jobs:
checkstyle:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --yes -qq build-essential autoconf libtool gawk alien fakeroot linux-headers-$(uname -r)
sudo apt-get install --yes -qq zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libssl-dev python-dev python-setuptools python-cffi python3 python3-dev python3-setuptools python3-cffi
# packages for tests
sudo apt-get install --yes -qq parted lsscsi ksh attr acl nfs-kernel-server fio
sudo apt-get install --yes -qq mandoc cppcheck pax-utils devscripts abigail-tools
sudo -E pip --quiet install flake8
sudo xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt apt-get install -qq
sudo apt-get install -qq mandoc cppcheck pax-utils devscripts
sudo python3 -m pip install --quiet flake8
sudo apt-get clean

# confirm that the tools are installed
# the build system doesn't fail when they are not
checkbashisms --version
cppcheck --version
flake8 --version
scanelf --version
shellcheck --version
- name: Prepare
run: |
sh ./autogen.sh
./autogen.sh
./configure
make -j$(nproc)
make -j$(nproc) --no-print-directory --silent
- name: Checkstyle
run: |
make checkstyle
make -j$(nproc) --no-print-directory --silent checkstyle
- name: Lint
run: |
make lint
make -j$(nproc) --no-print-directory --silent lint
- name: CheckABI
id: CheckABI
run: |
docker run -v $(pwd):/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent checkabi
- name: StoreABI
if: failure() && steps.CheckABI.outcome == 'failure'
run: |
make checkabi
docker run -v $(pwd):/source ghcr.io/openzfs/libabigail make -j$(nproc) --no-print-directory --silent storeabi
- name: Prepare artifacts
if: failure() && steps.CheckABI.outcome == 'failure'
run: |
find -name *.abi | tar -cf abi_files.tar -T -
- uses: actions/upload-artifact@v2
if: failure() && steps.CheckABI.outcome == 'failure'
with:
name: New ABI files (use only if you're sure about interface changes)
path: abi_files.tar
20 changes: 20 additions & 0 deletions .github/workflows/scripts/reclaim_disk_space.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/sh

set -eu

# remove 4GiB of images
sudo systemd-run docker system prune --force --all --volumes

# remove unused software
sudo systemd-run rm -rf \
"$AGENT_TOOLSDIRECTORY" \
/opt/* \
/usr/local/* \
/usr/share/az* \
/usr/share/dotnet \
/usr/share/gradle* \
/usr/share/miniconda \
/usr/share/swift \
/var/lib/gems \
/var/lib/mysql \
/var/lib/snapd
55 changes: 32 additions & 23 deletions .github/workflows/zfs-tests-functional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,23 @@ jobs:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Reclaim disk space
run: |
${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --yes -qq build-essential autoconf libtool gdb lcov \
git alien fakeroot wget curl bc fio acl \
sysstat mdadm lsscsi parted gdebi attr dbench watchdog ksh \
nfs-kernel-server samba rng-tools xz-utils \
zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
libpam0g-dev pamtester python-dev python-setuptools python-cffi \
python-packaging python3 python3-dev python3-setuptools python3-cffi \
libcurl4-openssl-dev python3-packaging
xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq
sudo apt-get clean
- name: Autogen.sh
run: |
sh autogen.sh
./autogen.sh
- name: Configure
run: |
./configure --enable-debug --enable-debuginfo
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
- name: Make
run: |
make --no-print-directory -s pkg-utils pkg-kmod
make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
- name: Install
run: |
sudo dpkg -i *.deb
Expand All @@ -45,27 +40,41 @@ jobs:
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
sudo depmod
sudo modprobe zfs
# Workaround to provide additional free space for testing.
# https://github.com/actions/virtual-environments/issues/2840
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
# Workaround for cloud-init bug
# see https://github.com/openzfs/zfs/issues/12644
FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules
if [ -r "${FILE}" ]; then
HASH=$(md5sum "${FILE}" | awk '{ print $1 }')
if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then
# Just shove a zd* exclusion right above the hotplug hook...
sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}"
sudo udevadm control --reload-rules
fi
fi
- name: Clear the kernel ring buffer
run: |
sudo dmesg -c >/var/tmp/dmesg-prerun
- name: Report disk space
run: |
df -h /
- name: Tests
run: |
/usr/share/zfs/zfs-tests.sh -v -s 3G
/usr/share/zfs/zfs-tests.sh -vR -s 3G
timeout-minutes: 330
- name: Prepare artifacts
if: failure()
run: |
RESULTS_PATH=$(readlink -f /var/tmp/test_results/current)
sudo dmesg > $RESULTS_PATH/dmesg
sudo cp /var/log/syslog $RESULTS_PATH/
sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/
sudo chmod +r $RESULTS_PATH/*
# Replace ':' in dir names, actions/upload-artifact doesn't support it
for f in $(find $RESULTS_PATH -name '*:*'); do mv "$f" "${f//:/__}"; done
for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done
- uses: actions/upload-artifact@v2
if: failure()
with:
name: Test logs Ubuntu-${{ matrix.os }}
path: /var/tmp/test_results/20*/
path: |
/var/tmp/test_results/*
!/var/tmp/test_results/current
if-no-files-found: ignore
59 changes: 34 additions & 25 deletions .github/workflows/zfs-tests-sanity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,28 @@ on:

jobs:
tests:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Reclaim disk space
run: |
${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --yes -qq build-essential autoconf libtool gdb lcov \
git alien fakeroot wget curl bc fio acl \
sysstat mdadm lsscsi parted gdebi attr dbench watchdog ksh \
nfs-kernel-server samba rng-tools xz-utils \
zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
libpam0g-dev pamtester python-dev python-setuptools python-cffi \
python-packaging python3 python3-dev python3-setuptools python3-cffi \
python3-packaging libcurl4-openssl-dev
xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq
sudo apt-get clean
- name: Autogen.sh
run: |
sh autogen.sh
./autogen.sh
- name: Configure
run: |
./configure --enable-debug --enable-debuginfo
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
- name: Make
run: |
make --no-print-directory -s pkg-utils pkg-kmod
make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
- name: Install
run: |
sudo dpkg -i *.deb
Expand All @@ -41,27 +36,41 @@ jobs:
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
sudo depmod
sudo modprobe zfs
# Workaround to provide additional free space for testing.
# https://github.com/actions/virtual-environments/issues/2840
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
# Workaround for cloud-init bug
# see https://github.com/openzfs/zfs/issues/12644
FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules
if [ -r "${FILE}" ]; then
HASH=$(md5sum "${FILE}" | awk '{ print $1 }')
if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then
# Just shove a zd* exclusion right above the hotplug hook...
sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}"
sudo udevadm control --reload-rules
fi
fi
- name: Clear the kernel ring buffer
run: |
sudo dmesg -c >/var/tmp/dmesg-prerun
- name: Report disk space
run: |
df -h /
- name: Tests
run: |
/usr/share/zfs/zfs-tests.sh -v -s 3G -r sanity
/usr/share/zfs/zfs-tests.sh -vR -s 3G -r sanity
timeout-minutes: 330
- name: Prepare artifacts
if: failure()
run: |
RESULTS_PATH=$(readlink -f /var/tmp/test_results/current)
sudo dmesg > $RESULTS_PATH/dmesg
sudo cp /var/log/syslog $RESULTS_PATH/
sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/
sudo chmod +r $RESULTS_PATH/*
# Replace ':' in dir names, actions/upload-artifact doesn't support it
for f in $(find $RESULTS_PATH -name '*:*'); do mv "$f" "${f//:/__}"; done
for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done
- uses: actions/upload-artifact@v2
if: failure()
with:
name: Test logs
path: /var/tmp/test_results/20*/
name: Test logs Ubuntu-${{ matrix.os }}
path: |
/var/tmp/test_results/*
!/var/tmp/test_results/current
if-no-files-found: ignore
20 changes: 7 additions & 13 deletions .github/workflows/zloop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
tests:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
env:
TEST_DIR: /var/tmp/zloop
steps:
Expand All @@ -16,23 +16,17 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install --yes -qq build-essential autoconf libtool gdb \
git alien fakeroot \
zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
libpam0g-dev \
python-dev python-setuptools python-cffi python-packaging \
python3 python3-dev python3-setuptools python3-cffi python3-packaging
xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq
sudo apt-get clean
- name: Autogen.sh
run: |
sh autogen.sh
./autogen.sh
- name: Configure
run: |
./configure --enable-debug --enable-debuginfo
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan
- name: Make
run: |
make --no-print-directory -s pkg-utils pkg-kmod
make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
- name: Install
run: |
sudo dpkg -i *.deb
Expand All @@ -45,7 +39,7 @@ jobs:
run: |
sudo mkdir -p $TEST_DIR
# run for 20 minutes to have a total runner time of 30 minutes
sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1
sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1 -- -T 120 -P 60
- name: Prepare artifacts
if: failure()
run: |
Expand Down
Loading