diff options
Diffstat (limited to 'upstart-jobs/swraid.nix')
-rw-r--r-- | upstart-jobs/swraid.nix | 36 |
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 + + "; + +} |