summary refs log tree commit diff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm37
1 files changed, 30 insertions, 7 deletions
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 94f3c7e6d7..788aa0ebea 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -415,8 +415,8 @@ from a mounted file system.")
     (license license:gpl2+)))
 
 (define-public bcachefs-tools
-  (let ((commit "fe1bb39aa52d9140981ba1e96f3c95ddf14006ce")
-        (revision "8"))
+  (let ((commit "6c42566c6204bb5dcd6af3b97257e548b9d2db67")
+        (revision "9"))
     (package
       (name "bcachefs-tools")
       (version (git-version "0.1" revision commit))
@@ -428,7 +428,7 @@ from a mounted file system.")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1ks6w2v76pfpp70cv1d6znxaw1g5alz1v6hf8z9gvj15r94vgpwz"))))
+          (base32 "0xagz0k3li10ydma55mnld0nb2pyfx90vsdvgjflgnx6jw3cq4dq"))))
       (build-system gnu-build-system)
       (arguments
        `(#:make-flags
@@ -464,7 +464,11 @@ from a mounted file system.")
 
          ;; For tests.
          ("python-pytest" ,python-pytest)
-         ("valgrind" ,valgrind)))
+         ("valgrind" ,valgrind)
+
+         ;; For generating documentation with rst2man.
+         ("python" ,python)
+         ("python-docutils" ,python-docutils)))
       (inputs
        `(("eudev" ,eudev)
          ("keyutils" ,keyutils)
@@ -1169,16 +1173,16 @@ with the included @command{xfstests-check} helper.")
 (define-public zfs
   (package
     (name "zfs")
-    (version "2.0.5")
+    (version "2.1.0")
     (outputs '("out" "module" "src"))
     (source
       (origin
         (method url-fetch)
-          (uri (string-append "https://github.com/zfsonlinux/zfs/releases"
+          (uri (string-append "https://github.com/openzfs/zfs/releases"
                               "/download/zfs-" version
                               "/zfs-" version ".tar.gz"))
           (sha256
-           (base32 "1jbfm18hh9x4a9s5d7si8lapmq2aniphyriif9flrgsff26lj5rs"))))
+           (base32 "0kzkggwznp4m3503f2m4lcinbl99jg50j4asrwfpfk1862vdrgb0"))))
     (build-system linux-module-build-system)
     (arguments
      `(;; The ZFS kernel module should not be downloaded since the license
@@ -1209,6 +1213,25 @@ with the included @command{xfstests-check} helper.")
                    (util-linux (assoc-ref inputs "util-linux"))
                    (nfs-utils  (assoc-ref inputs "nfs-utils"))
                    (kmod       (assoc-ref inputs "kmod-runtime")))
+               ;; New feature "compatibility=" in 2.1.0.
+               ;; This feature looks up in two locations:
+               ;;   /etc/zfs/compatibility.d/
+               ;;   /usr/share/zfs/compatibility.d/
+               ;; The first is intended for system-specific compatibility
+               ;; sets, while the second is what is installed with the
+               ;; OpenZFS package, so use the absolute path for the first
+               ;; (which requires patching in the file) and the store path
+               ;; for the second (which it gets by default).
+               (substitute* "include/sys/fs/zfs.h"
+                 (("#define\tZPOOL_SYSCONF_COMPAT_D.*$")
+                  ; Use absolute path.
+                  "#define\tZPOOL_SYSCONF_COMPAT_D\t\"/etc/zfs/compatibility.d\"\n"))
+               ;; Also update the manual, which uses absolute paths, so that
+               ;; /usr/share/zfs/compatibility.d/ is referred via the store.
+               (substitute* '("man/man7/zpoolprops.7"
+                              "man/man7/zpool-features.7")
+                 (("/usr/share/zfs/compatibility.d")
+                  (string-append out "/share/zfs/compatibility.d")))
                (substitute* "etc/Makefile.in"
                  ;; This just contains an example configuration file for
                  ;; configuring ZFS on traditional init systems, skip it