commit: 313e307513cd231f0f6e6a45e67b25ff5b77835f Author: Florian Albrechtskirchinger <falbrechtskirchinger <AT> gmail <DOT> com> AuthorDate: Thu Jan 15 07:11:46 2026 +0000 Commit: Florian Albrechtskirchinger <falbrechtskirchinger <AT> gmail <DOT> com> CommitDate: Thu Jan 15 07:18:27 2026 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=313e3075
sys-fs/bcachefs-kmod: add erasure coding and quota support Erasure coding is experimental and therefore USE masked. Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger <AT> gmail.com> profiles/package.use.mask | 4 ++++ sys-fs/bcachefs-kmod/bcachefs-kmod-1.35.0.ebuild | 17 +++++++++++++---- sys-fs/bcachefs-kmod/metadata.xml | 4 ++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/profiles/package.use.mask b/profiles/package.use.mask index 67e131997c..c2c9e23fae 100644 --- a/profiles/package.use.mask +++ b/profiles/package.use.mask @@ -3,6 +3,10 @@ # New entries go on top. +# Florian Albrechtskirchinger <[email protected]> (2026-01-15) +# Experimental; enable for testing only +sys-fs/bcachefs-kmod erasure-coding + # Anna Vyalkova <[email protected]> (2025-11-06) # Depends on treecleaned media-libs/raspberrypi-userland games-emulation/RetroArch dispmanx diff --git a/sys-fs/bcachefs-kmod/bcachefs-kmod-1.35.0.ebuild b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.35.0.ebuild index a665ed359d..1415cf63fe 100644 --- a/sys-fs/bcachefs-kmod/bcachefs-kmod-1.35.0.ebuild +++ b/sys-fs/bcachefs-kmod/bcachefs-kmod-1.35.0.ebuild @@ -27,7 +27,7 @@ fi LICENSE="GPL-2" SLOT="0" -IUSE="debug verify-sig" +IUSE="debug erasure-coding quota verify-sig" BDEPEND=" >=sys-kernel/linux-headers-6.16 @@ -63,6 +63,7 @@ pkg_setup() { FRAME_POINTER !DEBUG_INFO_REDUCED " + use quota && CONFIG_CHECK+=" QUOTACTL" linux-mod-r1_pkg_setup } @@ -86,15 +87,23 @@ src_unpack() { src_prepare() { default + # Upstream PR: https://github.com/koverstreet/bcachefs/pull/1038 + cat <<-EOF >> libbcachefs/Makefile || die + ifdef BCACHEFS_DKMS + subdir-ccflags-\$(CONFIG_BCACHEFS_QUOTA) += -DCONFIG_BCACHEFS_QUOTA=1 + subdir-ccflags-\$(CONFIG_BCACHEFS_ERASURE_CODING) += -DCONFIG_BCACHEFS_ERASURE_CODING=1 + endif + EOF + sed -i s/^VERSION=.*$/VERSION=${PV}/ Makefile || die emake DESTDIR="${WORKDIR}" PREFIX="/module" install_dkms } src_compile() { local modlist=( "bcachefs=:../${MODULE_S}:../${MODULE_S}/src/fs/bcachefs" ) - local modargs=( - KDIR=${KV_OUT_DIR} - ) + local modargs=( KDIR=${KV_OUT_DIR} ) + use erasure-coding && modargs+=( CONFIG_BCACHEFS_ERASURE_CODING=y ) + use quota && modargs+=( CONFIG_BCACHEFS_QUOTA=y ) linux-mod-r1_src_compile } diff --git a/sys-fs/bcachefs-kmod/metadata.xml b/sys-fs/bcachefs-kmod/metadata.xml index 87ff414109..ee2660a640 100644 --- a/sys-fs/bcachefs-kmod/metadata.xml +++ b/sys-fs/bcachefs-kmod/metadata.xml @@ -12,4 +12,8 @@ <upstream> <remote-id type="github">koverstreet/bcachefs-tools</remote-id> </upstream> + <use> + <flag name="erasure-coding">Enable bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)</flag> + <flag name="quota">Enable bcachefs quota support</flag> + </use> </pkgmetadata>
