summary refs log tree commit diff
path: root/upstart-jobs/swraid.nix
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2007-01-11 00:40:28 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2007-01-11 00:40:28 +0000
commitdaa8ecfe7a2091accb93f962020e47ddf92b7b45 (patch)
treea3a7e23f9d845924cf9c7d32bed79c41dc4f82dd /upstart-jobs/swraid.nix
parent66d4c6c4e2a6f769c075a8245beecbbd652396b6 (diff)
downloadnixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar.gz
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar.bz2
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar.lz
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar.xz
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.tar.zst
nixpkgs-daa8ecfe7a2091accb93f962020e47ddf92b7b45.zip
* Activate software RAID arrays.
svn path=/nixos/trunk/; revision=7631
Diffstat (limited to 'upstart-jobs/swraid.nix')
-rw-r--r--upstart-jobs/swraid.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/upstart-jobs/swraid.nix b/upstart-jobs/swraid.nix
new file mode 100644
index 00000000000..f62bccbf967
--- /dev/null
+++ b/upstart-jobs/swraid.nix
@@ -0,0 +1,36 @@
+{kernel, module_init_tools, mdadm}:
+
+let
+
+  tempConf = "/var/state/mdadm.conf";
+
+in
+  
+{
+  name = "swraid";
+  
+  job = "
+start on udev
+#start on new-devices
+
+script
+
+    # Load the necessary RAID personalities.
+    export MODULE_DIR=${kernel}/lib/modules/
+    for mod in raid0 raid1 raid5; do
+        ${module_init_tools}/sbin/modprobe $mod || true
+    done
+
+    # Scan /proc/partitions for RAID devices.
+    ${mdadm}/sbin/mdadm --examine --brief --scan -c partitions > ${tempConf}
+
+    # Activate each device found.
+    ${mdadm}/sbin/mdadm --assemble -c ${tempConf} --scan
+
+    initctl emit new-devices
+    
+end script
+
+  ";
+
+}