Commit Graph

412 Commits

Author SHA1 Message Date
Lierfang Support Team
c95e87f7f6 update submodule path 2025-07-24 18:39:48 +08:00
Lierfang Support Team
449cc50364 Fix name for all arch 2025-07-24 18:38:46 +08:00
Stoiko Ivanov
595cc7bfa1 cherry-pick fix for overgrown dnode cache
the following patch seems applicable and might fix an issue observed
in our enterprise support a while ago. containers run in their own
cgroups, thus were probably not scanned by the kernel shrinker - this
resulted in Dnode cache numbers of 300+% reported in arc_summary.

FWICT the issue was introduced in ZFS 2.2.7
(commit 5f73630e9cbea5efa23d16809f06e0d08523b241 see:
https://github.com/openzfs/zfs/issues/17052#issuecomment-3065907783)
but I assume that the increase of zfs_arc_max by default makes it
trigger OOMs far easier.

The discussion of the PR was quite instructive:
https://github.com/openzfs/zfs/pull/17542

minimally tested on a pair of trixie VMs (building + running
replication of a couple of containers)

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250723181453.1082366-1-s.ivanov@proxmox.com
2025-07-23 20:45:14 +02:00
Thomas Lamprecht
c2b9652f27 bump version to 2.3.3-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-06-24 13:58:59 +02:00
Thomas Lamprecht
df67579c2d update ZFS module to 2.3.3
and refresh patch context.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-06-24 13:58:59 +02:00
Fabian Grünbichler
7414f26de0 d/control: set R^3 to no
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-06-02 15:56:41 +02:00
Fabian Grünbichler
cc473b9758 d/control: bump Standards-Version to 4.7.2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-06-02 15:56:25 +02:00
Stoiko Ivanov
1b901db7dc d/lintian-overrides: adapt to renamed tags
based on upstream https://salsa.debian.org/zfsonlinux-team/zfs/
commit f575e9492bbbb92670934e1b6ced6e7c41e2072c

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-06-02 14:19:47 +02:00
Stoiko Ivanov
f0ae2bcc39 d/control: record conflict with nordugrid-arc-client
nordugrid-arc-client also ships /usr/bin/arcstat, which conflicts
with zfsutils-linux after usrmerge and moving files from sbin to bin.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063457 for
further details.

based on upstream https://salsa.debian.org/zfsonlinux-team/zfs/
commit 779b5232db366c4e48b159a76cb0d18be4452273

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-06-02 14:19:47 +02:00
Stoiko Ivanov
29b58287ee usr-merge: synchronize debian/ with upstream
minor changes found by `diff -ru` on debian/ with the one in
debian-upstream

based on https://salsa.debian.org/zfsonlinux-team/zfs/
commits: 3b029ca123417535a53efa23f54975649924c66c
3b029ca123417535a53efa23f54975649924c66c

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-06-02 14:19:47 +02:00
Stoiko Ivanov
85fa0057a5 d/: move some tools out of /usr/sbin and add links for compatibility
adapted commit e1e64f07af5c4ca2a313625a15c24e4ad6fb42f1 from
debian-upstream https://salsa.debian.org/zfsonlinux-team/zfs/:

- arc_summary and zilstat do not require privilege.
- arcstat does not need root, but the name is taken by nordugrid-arc-client.
- dbufstat needs root permission to read /proc/spl/kstat.

See: #1064835, #1063457

Originally-by: Shengqi Chen <harry-chen@outlook.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-06-02 14:19:47 +02:00
Stoiko Ivanov
8b4e7cdfc6 cherry-pick usr-merge fix for libzfs6linux
moving file canonical locations from e.g. /lib to /usr/lib (usr-merge)
while renaming a package (libzfs4linux -> libzfs6linux) could result
in file deletions during upgrades. The following workaround has been
used in debian upstream.

see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092598 for the
details.

based on commit 0431247714965007bc156fd57852689b395b2bae
https://salsa.debian.org/zfsonlinux-team/zfs/

Originally-by: Shengqi Chen <harry-chen@outlook.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-06-02 14:19:47 +02:00
Thomas Lamprecht
2880b96d56 bump version to 2.3.2-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
2deb662aa4 d/copyright: update address of FSF in license notice
Fixes lintian tag old-fsf-address-in-copyright-file.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
a397808020 d/lintian-overrides: drop outdated init.d related stanza
Drop the package-supports-alternative-init-but-no-init.d-script
overrides, as that is an alien-tag for lintian nowadays.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
1dbe633692 install libraries and binaries under /usr, avoiding aliased locations
> Since Debian Trixie, the base-files package sets up symbolic links
> such as /bin pointing to usr/bin. Installing files in /bin directly
> thus triggers undefined behaviour in dpkg.
-- lintian-explain-tags aliased-location

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
f11bb4d9c3 debian: normalize and sort using wrap-and-sort -tkn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
4d322f6b99 d/control: bump debhelper compat level to 13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
4057b2238b d/control: add libtirpc-dev to build dependencies
Otherwise one gets a error on configure. Found when building inside a
clean sbuild environment.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
c812da295c update ZFS submodule to 2.3.2 and refresh patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
1ce7da5d93 d/control: add Multi-Arch attributes for binary packages
follows debian-upstream commit
e83f1857d5dbf4efd0c3f1351644c8ce88bc2654

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-8-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
1c691f157e d/control: libzfslinux-dev Depends: libtirpc-dev, zlib1g-dev (Closes: #1095855)
follows debian-upstream commit
e6dc49f60a43045ef87cf683305e03c864274aac

Originally-by: наб <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-7-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
c417d3d45a d/control: remove transitional dummy package spl
debian upstream did this in 2021, but I overlooked that back then[0].

[0] 50841f137b

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-6-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
fa939f3a9c d/control: Bump library SONAMEs: libzfs4 -> libzfs6, libzpool5 -> libzpool6
follows debian-upstream commit
9b1a98603ee3231aaa13782688c5888bc9c939de

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-5-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
f3cb5e1ac9 d/copyright: remove files deleted by upstream
(cherry picked from commit d9b0863953ff843f103bb45e33c410d4e0db5c24)

Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-4-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
6b4f18d985 Install new manpages for zpool-{ddtprune, prefetch}
(cherry picked from commit 4d3133d3e1d6073969972cefd9bd7254d342ab8f)

Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-3-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Stoiko Ivanov
50f355367d update zfs submodule to 2.3.1 and refresh patches
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Link: https://lore.proxmox.com/20250331134128.168524-2-s.ivanov@proxmox.com
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-05-14 20:51:44 +02:00
Thomas Lamprecht
7cbbd2bfe5 cherry-pick fixes for Linux 6.14 compat
The 6.13 kernel is supported without any additional changes required
and 6.14 needs only two smaller ones, so backport them to 2.2.7 to be
able to provide a more recent opt-in kernel soonish.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-03-28 14:21:35 +01:00
Thomas Lamprecht
3db234ab64 bump version to 2.2.7-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-03-16 20:14:24 +01:00
Friedrich Weber
6b5dcce328 zfs-initramfs: limit LV activation to those with the autoactivation flag
zfs-initramfs ships an initramfs-tools boot script that
unconditionally activates all LVs on boot. This can cause issues if
the LV resides on a shared LVM VG on top of a shared LUN, in
particular Fibre Channel / directed-attached SAS LUNs, as these are
usually visible at boot time. See bug #4997 [1] for more details.

To avoid this, patch zfs-initramfs such that it performs LVM
autoactivation instead. Thus, it honors the `--setautoactivation n`
flag that is normally used to disable autoactivation during boot for
particular VGs/LVs.

[1] https://bugzilla.proxmox.com/show_bug.cgi?id=4997

Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
 [TL: resolve merge conflict in d/patches with another fix that got
  applied sooner and improve subject]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-03-16 20:14:09 +01:00
Fabian Grünbichler
d9b65014fa fix zvol sync/flush regression introduced in ZFS 2.2.7
this broke with 2.2.7, and can potentially cause data loss or
inconsistency. the patch basically reverts to pre-2.2.7 behaviour,
verified via a fio benchmark.

reported on our forum: https://forum.proxmox.com/threads/163066

cherry-picked from upstream master

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
 [TL: more telling subject]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-03-16 20:13:32 +01:00
Thomas Lamprecht
0497e87650 buildsys: add pdm to upload target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-01-17 16:59:59 +01:00
Thomas Lamprecht
31103d9741 bump version to 2.2.7-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-01-17 16:45:53 +01:00
Stoiko Ivanov
40c2dbfa87 update zfs submodule to 2.2.7 and refresh patches
drop the cherry-picked kernel 6.11 compatibility patches.

this upstream release [0] is a bit larger than usual, and might have a bit
of potential for regressions.

apart from the compatibilty fixes for newer kernels (up until 6.12),
fixes to the testsystem,ci and fixes for FreeBSD the following might be
interesting for our use-cases:
* 308d04ac3 ("Fix inconsistent mount options for ZFS root")
* bc0d89bfc ("Fix an uninitialized data access (#16511)")
* f4e66db40 ("vdev_disk: move abd return and free off the interrupt handler")
* 0f86fcc2a ("Linux: Fix zfs_prune panics")
* cf80a803d ("zvol: ensure device minors are properly cleaned up")
* 299da6ace ("Fix race in libzfs_run_process_impl")
* 0bd8481aa ("add get_name implementation for exports. (#16833)")

I did some minimal testing on 2 VM's with a few nested containers and
storage replication, additionally I installed that version on a VM with
/ on ZFS - mostly for checking 308d04ac3 in our environment.

[0] https://github.com/openzfs/zfs/releases/tag/zfs-2.2.7

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2025-01-15 17:02:11 +01:00
Thomas Lamprecht
d3e35db9c3 cherry-pick patches for Linux 6.11 compat
All merged already into upstream, only one conflict with (missing)
change in context had to be resolved for the flex-array in ZFS log
patch.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-10-24 08:59:35 +02:00
Thomas Lamprecht
e70c0fd2f7 bump version to 2.2.6-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-09-05 12:01:18 +02:00
Stoiko Ivanov
547d60d1d9 debian: remove libzfsbootenv1linux.install
When initially packaging libzfsbootenv1linux a .install file was
commited in addtion to the .install.in (which contains the proper path
with the multiarch component). This wasn't noticed during building
because the .install got clobbered while building

Fixes: fd0cc4becd
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-09-05 11:59:57 +02:00
Stoiko Ivanov
7e52f6b54d update zfs submodule to 2.2.6
patches did not need adaptation

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-09-05 11:59:57 +02:00
Thomas Lamprecht
f5c9e3a9a8 bump version to 2.2.4-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-06-04 11:12:08 +02:00
Stoiko Ivanov
4847272363 update arc_summary arcstat patch with new introduced values
ZFS 2.2.4 added new kstats for speculative prefetch in:
026fe796465e3da7b27d06ef5338634ee6dd30d8

Adapt our patch introduced with ZFS 2.1 (for the then added MFU/MRU
stats), to also deal with the now introduced values not being present
(because an old kernel-module does not offer them).

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-05-21 16:03:10 +02:00
Stoiko Ivanov
76119aa32b update zfs submodule to 2.2.4 and refresh patches
mostly - drop all patches we had queued up to get kernel 6.8
supported.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-05-21 16:03:00 +02:00
Thomas Lamprecht
3968b96ed4 bump version to 2.2.3-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-08 17:44:01 +02:00
Fabian Grünbichler
32ce077088 fix #4835: order zfs-import@ before -cache/-scan
this should fix failures of the template instances because either of
the two other import services picked up the pool in question first.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-04-08 17:38:01 +02:00
Thomas Lamprecht
68be554e71 backport 2.2.4 staging for better 6.8 support
Use the current ZFS 2.2.4 staging tree [0] with commit deb7a8423 ("Fix
corruption caused by mmap flushing problems") on top.

Additionally, include an open, but ack'd, pull request [1] that avoids
a potential general protection fault due to touching a vbio after it
was handed off to the kernel.

[0]: https://github.com/openzfs/zfs/commits/zfs-2.2.4-staging/
[1]: https://github.com/openzfs/zfs/pull/16049

Both should mostly touch the module code.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-04-03 09:56:31 +02:00
Thomas Lamprecht
6c9ff9b992 bump version to 2.2.3-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 13:46:05 +01:00
Stoiko Ivanov
b48cfd2b15 fix #5288: cherry-pick fix for udev-partition links > 16
If a zvol has more than 15 partitions, the minor device number
exhausts the slot count reserved for partitions next to the zvol
itself. As a result, the minor number cannot be used to determine the
partition number for the higher partition, and doing so results in
wrong named symlinks being generated by udev.

Since the partition number is encoded in the block device name anyway,
let's just extract it from there instead.

For upstream issue and PR discussion see:
https://github.com/openzfs/zfs/pull/15970
https://github.com/openzfs/zfs/issues/15904

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-11 13:44:37 +01:00
Stoiko Ivanov
a5e0251015 update zfs submodule to 2.2.3 and refresh patches
mostly support for newer kernel-versions, and fixes for the BRT bugs
discovered with 2.2.0 (BRT remains disabled by default).

The update contains a fix for CVE-2020-24370 in lua (which is present
in ZFS for channel-programs, which we do not use) - see:
https://github.com/openzfs/zfs/pull/15847 for more details.

One patch from Stefan Lendl was backported and is now in the ZFS 2.2
branch.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2024-03-11 13:41:25 +01:00
Thomas Lamprecht
838cd1d173 bump version to 2.2.2-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-02-19 17:00:17 +01:00
Stefan Lendl
5f4f0445f4 Fix #5101: exports with sharenfs remain after zfs mount -a
When running `zfs mount -a`, prevent the exported datasets (with sharenfs)
to be truncated (unexported).
Adds tests to verify shares persist after mount -a

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
2024-02-02 19:17:28 +01:00
Thomas Lamprecht
81d11761c3 bump version to 2.2.2-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-04 16:50:30 +01:00