summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin22558 -> 22557 bytes
-rw-r--r--sys-fs/bees/Manifest13
-rw-r--r--sys-fs/bees/bees-0.10.ebuild (renamed from sys-fs/bees/bees-0.8.ebuild)27
-rw-r--r--sys-fs/bees/bees-0.9.3.ebuild (renamed from sys-fs/bees/bees-0.9.ebuild)20
-rw-r--r--sys-fs/bees/bees-9999.ebuild20
-rw-r--r--sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch34
-rw-r--r--sys-fs/bees/metadata.xml11
7 files changed, 86 insertions, 39 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 87614779bebc..74d3de2e52cd 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/bees/Manifest b/sys-fs/bees/Manifest
index 199d9a4e1ffe..a1d71c8b535c 100644
--- a/sys-fs/bees/Manifest
+++ b/sys-fs/bees/Manifest
@@ -1,6 +1,7 @@
-DIST bees-0.8.tar.gz 166890 BLAKE2B 26c7563ed1433526371d45e5f2f9e4f2a749e18f0d97e7a2ee445ef9d4cdf49210c8a96f756c04d19337497d12eacde28430f9ad64df198ff44c901b1bfc36c2 SHA512 92208ee186de18e764fab42f3de4e518047a21f4ed2429040a706fe7a45e0b2d39d1e468beefc92553659fc4587f4894a33d5a26bfd59278923208db3acc7da0
-DIST bees-0.9.tar.gz 176570 BLAKE2B f210afc342debb9fcdaba977ecccee9c07929197ccda942566634ef4d08c8bd11edb67ea50e05b046771faad212a9c3e01fc98c74dc759785afa588ba1d68b06 SHA512 dce90fc6f1741356331cc8c43536ea497c41a702be1b2bc2196f9ad0d5083d7255f15d529cf2804e4f36675ccc4a1d11d25ee266071a984199706ae2cd285c43
-EBUILD bees-0.8.ebuild 4040 BLAKE2B f4a1c0cfc7ad8d9256aeba8c001e6cd3f3d863d92548d8e9152595fb9a20764f3323f1e99835a3de2fbb16d2f8cc1225c75fee4d5e70050ebb6283410efb8341 SHA512 cad1a01cc87c132ca50b6167e2e40e971225d604b041aae30432033ac5dcbdf2ddce1200bae03dee2e5c2ba4050716773ecb190302d06992e62ca84e0bdba65b
-EBUILD bees-0.9.ebuild 3945 BLAKE2B 10c9022ed7d1588985fb2c1e67d36d1882e4ef9f5c834ceb658b223388bd65bf267f004523cbf4e1e45142a6bf1a1e11eb9c5a0277e6eb683d695f5ad6a5c7b1 SHA512 1bf9d8c6a77c4bf1346e10113d78deab7b0c10518b1e222456eef3e6f621fc089619850700042decdd35bce521c072550f03a6b753f9c9424bae877cbcf7d7fb
-EBUILD bees-9999.ebuild 3946 BLAKE2B e35281b82660f40e58e8ea9886862fdefc1286c18437525e5dedcd4e455cc76eac15343cfc8f4747e36ae159c60522b601fe7f9cebee06c1a8f94206a4d6614f SHA512 dae9e22f96297d4857b89633a2398ab66db30d859596c544817c9f62e89b7ad35c359e98f80a17afb2fae53cc060d06650efa4d638cf437d501f77149394830c
-MISC metadata.xml 622 BLAKE2B fc27438101691a12742484547df8b94fc3d22822cc3aefe81468e435a917373c25c5736506bfa2cf637bc265a3686c7f03d7431eaf54e5405f7ad2738390e872 SHA512 382ea31887a310f375bed14aa88d433831964b080faf3c7fb209a0d73b1d0d3da38a8e222ceda267b4ada4e81fa36cad94d4ddf180e7a2f39dfe3e9439b60321
+AUX 0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch 1183 BLAKE2B 784ad6e8150a5d791c839c04060aa1116f72a29c0e2f4d1d790d6e1fb1d56b5a6ced843f38ac56930a63426ed7e9c5506f81c1f7189728937e0ee49f9f5af079 SHA512 29ac086a2c84d7eb89090498849b2e01e99da62c3ce49b5c4d36f071a3a8ff506e15b227a2303c01da25bdc4572e5dc1129767df496897de8ca2bed579dd3017
+DIST bees-0.10.tar.gz 177509 BLAKE2B 269cf65d5250a07297dfaee6c0fd6bc25199d63fe423d63ce39df8bcdb64d6f8110a0e03d0dc7dc1b105a8886f2a9364da8878481546eaa8dbf3dc46abc569ed SHA512 77a4ae3d66430c2d9dc0351c16c60bad95f21e238fc00f5f5787f55929ba75ee25212ac4bb4a3e4a9419cec27bbcfd2987aa925a54bc2872609b38a698dbedc3
+DIST bees-0.9.3.tar.gz 177265 BLAKE2B f0363771647ee07b12afe3ef44c1453e4677e12b051e33a81517a6044a459237b72712a09b31895147cd171a649ba15fc75676f34df46c9520248eae09e193e1 SHA512 5517773478cd56915ec3aee6542f6128a0f72b10aa96708d20778a76a427890bdfd9d8ba775b9dff3395d2e203fa2995070f9aca509b8150b9a9bcf076828ebb
+EBUILD bees-0.10.ebuild 4077 BLAKE2B 8208983c244fd03a1c615b485011bb1fefbdffe91b0d1846aec7a13775c9c1da06dd895092f847a9da0ce2e1a88dac10611f0f2a35df1589042e58a70f11b1a4 SHA512 41bc775e23be08cc87fd06da485b1101e3924dca1ab00150e4abbc50bcfc2b892a08bce0560403e9830a70fac9be0ea669f8017c71a78a414ab5cf1f580644e7
+EBUILD bees-0.9.3.ebuild 4076 BLAKE2B dad615a8ad7fada7c1cd31a5cffa6fad2cdcbc1cf241cc6e602d927cd9c182289d944663365cbeaa27a2f14f89cd8150e7c7196c19b5bbd4cb2580dae80bc19c SHA512 53a60088a2e078e1dec4899d77961c51976f941ca3952de32ddacdb6c03b4e6350d977f159b7a845ec45901bb4cb77b19ca9aebeec2ef1cc7867740df74adbbb
+EBUILD bees-9999.ebuild 4077 BLAKE2B 8208983c244fd03a1c615b485011bb1fefbdffe91b0d1846aec7a13775c9c1da06dd895092f847a9da0ce2e1a88dac10611f0f2a35df1589042e58a70f11b1a4 SHA512 41bc775e23be08cc87fd06da485b1101e3924dca1ab00150e4abbc50bcfc2b892a08bce0560403e9830a70fac9be0ea669f8017c71a78a414ab5cf1f580644e7
+MISC metadata.xml 529 BLAKE2B 69ea069e33d1af7c2c38aa7f8fc61516f23c586ad162d9581859829b084c8da3ef76278173e1ac3afa1ef432355ab14f2ecc01d07f039f8447c20cc27b22d633 SHA512 cb9ba7a32c6a8269f7303ebd41bf0e21f4325560b40bba10aff08a05d07170f9f0e35e687e688f6793c0abf994c9b23f90a47b9d32544636f2d6b5ab51140bd3
diff --git a/sys-fs/bees/bees-0.8.ebuild b/sys-fs/bees/bees-0.10.ebuild
index 8c6ac6117418..1b164eb56b08 100644
--- a/sys-fs/bees/bees-0.8.ebuild
+++ b/sys-fs/bees/bees-0.10.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info systemd toolchain-funcs
@@ -18,7 +18,7 @@ fi
LICENSE="GPL-3"
SLOT="0"
-IUSE="tools"
+IUSE=""
DEPEND="
>=sys-apps/util-linux-2.30.2
@@ -29,6 +29,10 @@ RDEPEND="${DEPEND}"
CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+PATCHES=(
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
+)
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
if kernel_is -lt 4 11; then
@@ -66,13 +70,15 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
- if kernel_is -ge 5 4 0; then
- ewarn "With kernel version 5.4 or later, the kernel may hang when multiple threads"
- ewarn "are running LOGICAL_INO and dedupe ioctl. This is not exclusively triggered"
- ewarn "by bees but also other software running such operations, bees will just more"
- ewarn "likely trigger this bug. You can work around this issue by reducing the"
- ewarn "thread count of bees to 1."
- ewarn
+ if kernel_is -gt 5 15 106; then
+ if kernel_is -lt 6 3 10; then
+ ewarn "With kernel versions 5.15.107 or later, there is a memory fragmentation"
+ ewarn "issue with LOGICAL_INO which can lead to cache thrashing and cause IO"
+ ewarn "latency spikes. This version ships with a work-around at the cost of not"
+ ewarn "handling highly duplicated filesystems that well. More details:"
+ ewarn "https://github.com/Zygo/bees/issues/260"
+ ewarn
+ fi
fi
elog "Bees recommends running the latest current kernel for performance and"
@@ -97,9 +103,6 @@ src_configure() {
if [[ ${PV} != "9999" ]] ; then
echo BEES_VERSION=v${PV} >>localconf || die
fi
- if use tools; then
- echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die
- fi
}
src_compile() {
diff --git a/sys-fs/bees/bees-0.9.ebuild b/sys-fs/bees/bees-0.9.3.ebuild
index 4834204acfcf..a1b15c2ef627 100644
--- a/sys-fs/bees/bees-0.9.ebuild
+++ b/sys-fs/bees/bees-0.9.3.ebuild
@@ -29,6 +29,10 @@ RDEPEND="${DEPEND}"
CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+PATCHES=(
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
+)
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
if kernel_is -lt 4 11; then
@@ -66,13 +70,15 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
- if kernel_is -ge 5 4 0; then
- ewarn "With kernel version 5.4 or later, the kernel may hang when multiple threads"
- ewarn "are running LOGICAL_INO and dedupe ioctl. This is not exclusively triggered"
- ewarn "by bees but also other software running such operations, bees will just more"
- ewarn "likely trigger this bug. You can work around this issue by reducing the"
- ewarn "thread count of bees to 1."
- ewarn
+ if kernel_is -gt 5 15 106; then
+ if kernel_is -lt 6 3 10; then
+ ewarn "With kernel versions 5.15.107 or later, there is a memory fragmentation"
+ ewarn "issue with LOGICAL_INO which can lead to cache thrashing and cause IO"
+ ewarn "latency spikes. This version ships with a work-around at the cost of not"
+ ewarn "handling highly duplicated filesystems that well. More details:"
+ ewarn "https://github.com/Zygo/bees/issues/260"
+ ewarn
+ fi
fi
elog "Bees recommends running the latest current kernel for performance and"
diff --git a/sys-fs/bees/bees-9999.ebuild b/sys-fs/bees/bees-9999.ebuild
index f84aba717799..1b164eb56b08 100644
--- a/sys-fs/bees/bees-9999.ebuild
+++ b/sys-fs/bees/bees-9999.ebuild
@@ -29,6 +29,10 @@ RDEPEND="${DEPEND}"
CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+PATCHES=(
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
+)
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
if kernel_is -lt 4 11; then
@@ -66,13 +70,15 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
- if kernel_is -ge 5 4 0; then
- ewarn "With kernel version 5.4 or later, the kernel may hang when multiple threads"
- ewarn "are running LOGICAL_INO and dedupe ioctl. This is not exclusively triggered"
- ewarn "by bees but also other software running such operations, bees will just more"
- ewarn "likely trigger this bug. You can work around this issue by reducing the"
- ewarn "thread count of bees to 1."
- ewarn
+ if kernel_is -gt 5 15 106; then
+ if kernel_is -lt 6 3 10; then
+ ewarn "With kernel versions 5.15.107 or later, there is a memory fragmentation"
+ ewarn "issue with LOGICAL_INO which can lead to cache thrashing and cause IO"
+ ewarn "latency spikes. This version ships with a work-around at the cost of not"
+ ewarn "handling highly duplicated filesystems that well. More details:"
+ ewarn "https://github.com/Zygo/bees/issues/260"
+ ewarn
+ fi
fi
elog "Bees recommends running the latest current kernel for performance and"
diff --git a/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch b/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch
new file mode 100644
index 000000000000..0ceb5cbfc79e
--- /dev/null
+++ b/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch
@@ -0,0 +1,34 @@
+From 10c2006e627b5bda74f9f8aca1a574aa0e0e1eaa Mon Sep 17 00:00:00 2001
+From: Kai Krakow <kai@kaishome.de>
+Date: Sun, 9 Jul 2023 12:24:40 +0200
+Subject: [PATCH] HACK: crucible: Work around kernel memory fragmentation
+
+According to @Zygo:
+
+> This will drastically reduce the number of reflinks bees can handle
+> to a single extent, but that size is beyond more than enough for most
+> filesystems. Making the buffer smaller may also reduce the size of
+> vmallocs which might be aggravating the kernel's memory manager.
+
+Link: https://github.com/Zygo/bees/issues/260#issuecomment-1627586574
+Signed-off-by: Kai Krakow <kai@kaishome.de>
+---
+ include/crucible/fs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/crucible/fs.h b/include/crucible/fs.h
+index 6d1780b..5da7da0 100644
+--- a/include/crucible/fs.h
++++ b/include/crucible/fs.h
+@@ -65,7 +65,7 @@ namespace crucible {
+ };
+
+ struct BtrfsIoctlLogicalInoArgs {
+- BtrfsIoctlLogicalInoArgs(uint64_t logical, size_t buf_size = 16 * 1024 * 1024);
++ BtrfsIoctlLogicalInoArgs(uint64_t logical, size_t buf_size = 64 * 1024);
+
+ uint64_t get_flags() const;
+ void set_flags(uint64_t new_flags);
+--
+2.39.3
+
diff --git a/sys-fs/bees/metadata.xml b/sys-fs/bees/metadata.xml
index 29a9cccdbdf5..c7b55c3b67c7 100644
--- a/sys-fs/bees/metadata.xml
+++ b/sys-fs/bees/metadata.xml
@@ -9,11 +9,8 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
-<use>
- <flag name="tools">Build extra tools useful for debugging (fiemap, fiewalk)</flag>
-</use>
-<upstream>
- <bugs-to>https://github.com/Zygo/bees/issues</bugs-to>
- <remote-id type="github">Zygo/bees</remote-id>
-</upstream>
+ <upstream>
+ <bugs-to>https://github.com/Zygo/bees/issues</bugs-to>
+ <remote-id type="github">Zygo/bees</remote-id>
+ </upstream>
</pkgmetadata>