summaryrefslogtreecommitdiffstats
path: root/Manage.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2007-05-21 14:25:44 +1000
committerNeil Brown <neilb@suse.de>2007-05-21 14:25:44 +1000
commit1f48664b8e65cafa65d121bb626649a6310cfaf2 (patch)
tree83ecb51e0102d5ae4e4a7bd50930ade1301bfd75 /Manage.c
parent69646c1483b7b728d77ae2c944d624f8c05ad4db (diff)
downloadmdadm-1f48664b8e65cafa65d121bb626649a6310cfaf2.tar.gz
mdadm-1f48664b8e65cafa65d121bb626649a6310cfaf2.tar.xz
mdadm-1f48664b8e65cafa65d121bb626649a6310cfaf2.zip
Add --auto-detect for in-kernel autodetect.
This is equivalent to raidautorun that some distros provide.
Diffstat (limited to 'Manage.c')
-rw-r--r--Manage.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Manage.c b/Manage.c
index 3deb8ea..d857c99 100644
--- a/Manage.c
+++ b/Manage.c
@@ -507,4 +507,17 @@ int Manage_subdevs(char *devname, int fd,
return 0;
}
+
+int autodetect(void)
+{
+ /* Open any md device, and issue the RAID_AUTORUN ioctl */
+ int rv = 1;
+ int fd = dev_open("9:0", O_RDONLY);
+ if (fd >= 0) {
+ if (ioctl(fd, RAID_AUTORUN, 0) == 0)
+ rv = 0;
+ close(fd);
+ }
+ return rv;
+}
#endif