about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch
diff options
context:
space:
mode:
authorAndrew Marshall <andrew@johnandrewmarshall.com>2024-04-02 18:56:14 -0400
committerAndrew Marshall <andrew@johnandrewmarshall.com>2024-04-02 19:26:16 -0400
commit49e6c686f870addfd89b7fc3af68141a57659aee (patch)
treedc29c2dc38accae36118436bd6288842069dd8e7 /pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch
parent269f5806e0523962932659a454ff097a27f526f5 (diff)
mdadm: Fix hardcoded directory
In [upstream change][1], handling of creating `/run/mdadm/creating-%s`
file was changed to fail if it was unable to create the file. This
revealed that the path itself incorrectly hardcodes `/run/mdadm` instead
of using `MAP_DIR` or similar. Since nixpkgs sets `RUN_DIR=/run/.mdadm`
at compile time, and `MAP_DIR=$(RUN_DIR)` in upstream, the `/run/mdadm`
is never created. This remedies by fixing the hard-coded directory.

[1]: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=9f376da6439b07dc93ae084ab576e133b9d8d839
Diffstat (limited to 'pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch')
-rw-r--r--pkgs/os-specific/linux/mdadm/fix-hardcoded-mapdir.patch13
1 files changed, 13 insertions, 0 deletions
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 0000000000000..cf50d6012487c
--- /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)) {