diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 14a3589aff33..e9e90b3c388b 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-QWcnrh8QgOpuMJDOo23QdoJvw2kVHjarc2VXupIZb58="; }; - patches = [ ./no-self-references.patch ]; + patches = [ + ./no-self-references.patch + ./fix-hardcoded-mapdir.patch + ]; makeFlags = [ "NIXOS=1" "INSTALL=install" "BINDIR=$(out)/sbin" diff --git a/pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch b/pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch new file mode 100644 index 000000000000..cf50d6012487 --- /dev/null +++ b/pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch @@ -0,0 +1,13 @@ +diff --git a/udev.c b/udev.c +index bc4722b0..aa2a1a24 100644 +--- a/udev.c ++++ b/udev.c +@@ -167,7 +167,7 @@ enum udev_status udev_block(char *devnm) + int fd; + char *path = xcalloc(1, BUFSIZ); + +- snprintf(path, BUFSIZ, "/run/mdadm/creating-%s", devnm); ++ snprintf(path, BUFSIZ, "%s/creating-%s", MAP_DIR, devnm); + + fd = open(path, O_CREAT | O_RDWR, 0600); + if (!is_fd_valid(fd)) {