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

NAS-131081 / 24.10.0 / Sync stable/electriceel with upstream master for dedup patches #16523

Closed
wants to merge 53 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
fd0406e
Port TrueNAS contrib changes and adjust github workflows
Sep 14, 2020
6343ecf
Advertise support for large xattrs on TrueNAS
anodos325 Mar 22, 2021
b5748de
Implement NFSv41 ACLs through xattr
anodos325 May 24, 2021
9290fb7
Add zfsd for FreeBSD
Jun 4, 2020
ab9a808
Make acltype=nfsv4 the default on Linux, too
Jul 28, 2021
af2a8dd
Write /sys/kernel/wait_for_device_probe before import.
amotin Aug 17, 2021
39b4adf
Fix access check when cred allows override of ACL
anodos325 Nov 2, 2021
de35ac0
Make zpl_permission work with 5.12+ kernels
Nov 3, 2021
29d6360
NAS-115465 / 22.12 / expose ZFS_ACL_TRIVIAL to users (#52)
anodos325 Mar 27, 2022
d1df3f6
Add ability for xattr handler to "strip" NFSv4 ACL (#54)
anodos325 Jun 21, 2022
44e8ea6
Fix ACL build errors on sync with openzfs/master
ixhamza Jun 19, 2023
08b7bcc
NAS-116836 / Force BSD semantics for group ownership if NFSV4ACL (#78)
anodos325 Jun 22, 2022
457bcb0
initramfs: Skip lvm scan before boot pool import
Jun 29, 2022
5b00930
Provide kfpu_begin/end from spl
Sep 8, 2022
2df4032
SCALE: ignore wholedisk
Nov 3, 2022
815f61f
Fix ZFS_READONLY implementation on Linux (#121)
anodos325 Jan 31, 2023
d01282f
Simplify get/set NFS4 ACL (#113)
anodos325 Jan 6, 2023
8a4f609
Improve zpl_permission performance
anodos325 May 4, 2023
343164f
Skip id-mapped tests for now due to nfsv4 acls incompatibility
ixhamza Jun 21, 2023
50f9fd6
linux 6.3 compat changes for truenas/zfs-2.2-release
ixhamza Jun 27, 2023
46e619a
Do not enable zfs-share.service
usaleem-ix Aug 24, 2023
02cfb15
Remove inode_owner_or_capable override for secpolicy (#178)
anodos325 Nov 15, 2023
f27da86
Add Dockerfile
themylogin Jan 4, 2024
34be70e
Merge pull request #214 from truenas/truenas/zfs-2.3-staging
ixhamza Feb 29, 2024
7995c96
Merge 'openzfs/master' into truenas/zfs-2.3-release
ixhamza Apr 1, 2024
a8bc2a4
vdev_disk: don't touch vbio after its handed off to the kernel
robn Apr 2, 2024
5f4f124
Merge pull request #217 from truenas/truenas/zfs-2.3-master-staging
amotin Apr 3, 2024
cd0d13c
Merge 'ozfs/master' into truenas/zfs-2.3-release
ixhamza Apr 9, 2024
d1ebe30
Merge pull request #222 from truenas/truenas/zfs-2.3-master-sync
amotin Apr 9, 2024
147d5ff
Add support for zfs mount -R <filesystem>
usaleem-ix Apr 11, 2024
f403292
Merge pull request #225 from truenas/NAS-127702-2.3
amotin Apr 15, 2024
74319f9
Empty commit to trigger CI
themylogin Apr 22, 2024
dee01e8
Merge pull request #227 from truenas/dummy
yocalebo Apr 22, 2024
5c57f7e
Use debian bookworm to build Docker image
themylogin Apr 22, 2024
fef0537
Merge pull request #228 from truenas/bookworm
yocalebo Apr 22, 2024
cdac10e
Fix Dockerfile
themylogin Apr 22, 2024
9ec26a2
Merge pull request #229 from truenas/bookworm2
yocalebo Apr 22, 2024
667c282
Fix return value for setting zvol threading (#230)
anodos325 Apr 24, 2024
cbfc3bd
Add libtirpc-dev to Build-Depends in control
usaleem-ix May 8, 2024
f58cd6c
Merge pull request #235 from truenas/fix-ci-native-deb-2.3
amotin May 8, 2024
ffc81cd
Merge remote-tracking branch 'ozfs/master'
ixhamza Jun 14, 2024
1b72c70
Merge pull request #240 from truenas/NAS-129592-master
amotin Jun 14, 2024
92264fa
Update zed.rc to disable emailing
aiden3c Jul 30, 2024
bb9f6e5
Merge pull request #243 from truenas/NAS-130043
aiden3c Jul 30, 2024
4ae24d5
Merge branch 'master' into truenas/zfs-2.3-release
ixhamza Aug 11, 2024
072c9ab
Merge pull request #245 from truenas/NAS-130542-2
amotin Aug 12, 2024
e117535
Fix namespace handling in zpl_permission (#246)
anodos325 Aug 13, 2024
4460085
Increase maximum permitted ACL entries (#250)
anodos325 Aug 15, 2024
cfa0649
Merge branch 'openzfs/master' into NAS-130821-2
usaleem-ix Sep 3, 2024
b65aeb4
Revert "Make mount.zfs(8) calling zfs_mount_at for legacy mounts"
usaleem-ix Sep 3, 2024
45de819
Merge pull request #252 from truenas/NAS-130821-2
amotin Sep 4, 2024
927f6ea
Revert "Revert "Make mount.zfs(8) calling zfs_mount_at for legacy
usaleem-ix Sep 6, 2024
80110e7
Merge branch 'master' into NAS-130821-2
usaleem-ix Sep 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: CI

on: [push]

jobs:
build-native-deb:
runs-on: ubuntu-22.04
container:
image: debian:testing
steps:
- name: Installing Dependencies
run: |
apt update > /dev/null 2>&1
apt install -y linux-image-amd64 linux-headers-amd64 debhelper-compat devscripts > /dev/null 2>&1

- name: Checkout
uses: actions/checkout@v2

- name: Build deb package
run: |
mk-build-deps --build-dep contrib/debian/control
apt install -y ./*.deb
sh autogen.sh
./configure
cp -a contrib/debian debian
sed 's/@CFGOPTS@/--enable-debuginfo/g' debian/rules.in > debian/rules
chmod +x debian/rules
dch -b -M --force-distribution --distribution bullseye-truenas-unstable 'Tagged from zfs CI'
debuild -us -uc -b
debian/rules override_dh_binary-modules

- name: Create artifacts dir
run: mkdir artifacts
if: success()

- name: Move artifacts
run: mv ../*.deb artifacts
if: success()

- uses: actions/upload-artifact@v1
with:
name: zfs-native
path: artifacts
if: success()
28 changes: 28 additions & 0 deletions .github/workflows/docker_image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: build_image

on:
push:
branches:
- 'truenas/zfs-2.3-release'

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ixsystems/zfs:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
2 changes: 0 additions & 2 deletions .github/workflows/scripts/generate-summary.sh
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,7 @@ ERRLOGS=0
if [ ! -f Summary/Summary.md ]; then
# first call, we do the default summary (~500k)
echo -n > Summary.md
summarize_s "Sanity Tests Ubuntu 20.04" Logs-20.04-sanity
summarize_s "Sanity Tests Ubuntu 22.04" Logs-22.04-sanity
summarize_f "Functional Tests Ubuntu 20.04" Logs-20.04-functional
summarize_f "Functional Tests Ubuntu 22.04" Logs-22.04-functional

cat Summary.md >> $GITHUB_STEP_SUMMARY
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/zfs-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [20.04, 22.04]
os: [22.04]
runs-on: ubuntu-${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand All @@ -32,7 +32,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [20.04, 22.04]
os: [22.04]
needs: build
uses: ./.github/workflows/zfs-linux-tests.yml
with:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
!configure.ac
!copy-builtin
!COPYRIGHT
!Dockerfile
!LICENSE
!Makefile.am
!META
Expand Down Expand Up @@ -84,6 +85,8 @@ modules.order
Makefile
Makefile.in
changelog
nfs41acl.h
nfs41acl_xdr.c
*.patch
*.orig
*.tmp
Expand Down
28 changes: 28 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM debian:bookworm-slim

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update

RUN apt-get install -y \
debhelper-compat \
devscripts \
linux-headers-amd64

ENV WORK_DIR /zfs_app/zfs
WORKDIR ${WORK_DIR}

ADD . ${WORK_DIR}/

RUN mk-build-deps --build-dep contrib/debian/control
RUN apt install -y ./*.deb
RUN sh autogen.sh
RUN ./configure
RUN cp -a contrib/debian debian
RUN sed 's/@CFGOPTS@/--enable-debuginfo/g' debian/rules.in > debian/rules
RUN chmod +x debian/rules
RUN dch -b -M --force-distribution --distribution bullseye-truenas-unstable "Tagged from ixsystems/zfs CI"
RUN debuild -us -uc -b
RUN rm ../openzfs-zfs-dracut_*.deb
RUN rm ../openzfs-zfs-initramfs_*.deb
RUN apt-get install -y ../*.deb
3 changes: 2 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,10 @@ cstyle_line = -exec ${top_srcdir}/scripts/cstyle.pl -cpP {} +
endif
CHECKS += cstyle
cstyle:
$(AM_V_at)find $(top_srcdir) -name build -prune \
$(AM_V_at)find $(top_srcdir) -name build -prune -o -name zfsd -prune \
-o -type f -name '*.[hc]' \
! -name 'zfs_config.*' ! -name '*.mod.c' \
! -name 'nfs41acl_xdr.c' ! -name 'nfs41acl.h' \
! -name 'opt_global.h' ! -name '*_if*.h' \
! -name 'zstd_compat_wrapper.h' \
! -path './module/zstd/lib/*' \
Expand Down
3 changes: 3 additions & 0 deletions cmd/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ include $(srcdir)/%D%/zpool/Makefile.am
include $(srcdir)/%D%/zpool_influxdb/Makefile.am
include $(srcdir)/%D%/zstream/Makefile.am

if BUILD_FREEBSD
include $(srcdir)/%D%/zfsd/Makefile.am
endif

if BUILD_LINUX
mounthelper_PROGRAMS += mount.zfs
Expand Down
9 changes: 6 additions & 3 deletions cmd/zed/agents/zfs_mod.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,9 @@ zfs_process_add(zpool_handle_t *zhp, nvlist_t *vdev, boolean_t labeled)
ZPOOL_CONFIG_VDEV_ENC_SYSFS_PATH);
(void) nvlist_lookup_string(vdev, ZPOOL_CONFIG_VDEV_ENC_SYSFS_PATH,
&enc_sysfs_path);

#ifndef TRUENAS_SCALE_NEVER_WHOLEDISK
(void) nvlist_lookup_uint64(vdev, ZPOOL_CONFIG_WHOLE_DISK, &wholedisk);
#endif
(void) nvlist_lookup_uint64(vdev, ZPOOL_CONFIG_OFFLINE, &offline);
(void) nvlist_lookup_uint64(vdev, ZPOOL_CONFIG_FAULTED, &faulted);

Expand Down Expand Up @@ -1040,7 +1041,9 @@ vdev_whole_disk_from_config(zpool_handle_t *zhp, const char *vdev_path)
if (!nvl)
return (0);

#ifndef TRUENAS_SCALE_NEVER_WHOLEDISK
(void) nvlist_lookup_uint64(nvl, ZPOOL_CONFIG_WHOLE_DISK, &wholedisk);
#endif

return (wholedisk);
}
Expand Down Expand Up @@ -1088,10 +1091,10 @@ zfsdle_vdev_online(zpool_handle_t *zhp, void *data)
zpool_close(zhp);
return (0);
}

#ifndef TRUENAS_SCALE_NEVER_WHOLEDISK
(void) nvlist_lookup_uint64(tgt, ZPOOL_CONFIG_WHOLE_DISK,
&wholedisk);

#endif
if (wholedisk) {
char *tmp;
path = strrchr(path, '/');
Expand Down
2 changes: 1 addition & 1 deletion cmd/zed/zed.d/zed.rc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# Email will only be sent if ZED_EMAIL_ADDR is defined.
# Enabled by default; comment to disable.
#
ZED_EMAIL_ADDR="root"
#ZED_EMAIL_ADDR="root"

##
# Name or path of executable responsible for sending notifications via email;
Expand Down
1 change: 1 addition & 0 deletions cmd/zfsd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/zfsd
25 changes: 25 additions & 0 deletions cmd/zfsd/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
zfsd_CFLAGS = $(AM_CFLAGS)
zfsd_CXXFLAGS = $(AM_CXXFLAGS)
zfsd_CPPFLAGS = $(AM_CPPFLAGS)

sbin_PROGRAMS += zfsd

zfsd_SOURCES = \
%D%/callout.cc \
%D%/case_file.cc \
%D%/vdev.cc \
%D%/vdev_iterator.cc \
%D%/zfsd.cc \
%D%/zfsd_event.cc \
%D%/zfsd_exception.cc \
%D%/zfsd_main.cc \
%D%/zpool_list.cc

zfsd_LDADD = \
libnvpair.la \
libuutil.la \
libzfs_core.la \
libzfs.la

zfsd_LDADD += -lrt -lprivatedevdctl -lgeom -lbsdxml -lsbuf
zfsd_LDFLAGS = -pthread
Loading
Loading