From e088d0b8a7a0458dd5d83b271ad76fefb5fe58fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dav=C3=AD=C3=B0=20Steinn=20Geirsson?= Date: Fri, 29 Aug 2025 15:28:55 +0000 Subject: [PATCH] nfs-ganesha: Add (default disabled) Ceph support CephFS and RGW FSAL, storage of recovery info in RADOS objects, and RADOS URL support. --- pkgs/by-name/nf/nfs-ganesha/package.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/nf/nfs-ganesha/package.nix b/pkgs/by-name/nf/nfs-ganesha/package.nix index c3b65eb37243..a57e5daa8b38 100644 --- a/pkgs/by-name/nf/nfs-ganesha/package.nix +++ b/pkgs/by-name/nf/nfs-ganesha/package.nix @@ -16,6 +16,8 @@ flex, nfs-utils, acl, + useCeph ? false, + ceph, }: stdenv.mkDerivation rec { @@ -44,6 +46,12 @@ stdenv.mkDerivation rec { "-DUSE_ACL_MAPPING=ON" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON" "-DUSE_MAN_PAGE=ON" + ] + ++ lib.optionals useCeph [ + "-DUSE_RADOS_RECOV=ON" + "-DRADOS_URLS=ON" + "-DUSE_FSAL_CEPH=ON" + "-DUSE_FSAL_RGW=ON" ]; nativeBuildInputs = [ @@ -64,7 +72,8 @@ stdenv.mkDerivation rec { ntirpc liburcu nfs-utils - ]; + ] + ++ lib.optional useCeph ceph; postPatch = '' substituteInPlace src/tools/mount.9P --replace "/bin/mount" "/usr/bin/env mount" @@ -72,6 +81,12 @@ stdenv.mkDerivation rec { postFixup = '' patchelf --add-rpath $out/lib $out/bin/ganesha.nfsd + patchelf --add-rpath $out/lib $out/lib/libganesha_nfsd.so + '' + + lib.optionalString useCeph '' + patchelf --add-rpath $out/lib $out/bin/ganesha-rados-grace + patchelf --add-rpath $out/lib $out/lib/libganesha_rados_recov.so + patchelf --add-rpath $out/lib $out/lib/libganesha_rados_urls.so ''; postInstall = ''