X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=extras%2Fvolume_id%2Fvolume_id%2Fvolume_id.c;h=3fe8562e33590a489b582a69738d2c93ae29c985;hb=afa3c553b1ff0ceb3e038cdf86d9261a8b8aa5d6;hp=22d30ee7413061251d10883c1d6e7e62b312001b;hpb=7c492da7f7bb9eb69fdefab0430a0c3ef583d8a3;p=elogind.git diff --git a/extras/volume_id/volume_id/volume_id.c b/extras/volume_id/volume_id/volume_id.c index 22d30ee74..3fe8562e3 100644 --- a/extras/volume_id/volume_id/volume_id.c +++ b/extras/volume_id/volume_id/volume_id.c @@ -52,6 +52,12 @@ #include "iso9660.h" #include "udf.h" #include "highpoint.h" +#include "isw_raid.h" +#include "lsi_raid.h" +#include "via_raid.h" +#include "silicon_raid.h" +#include "nvidia_raid.h" +#include "promise_raid.h" #include "luks.h" #include "linux_swap.h" #include "linux_raid.h" @@ -70,8 +76,31 @@ int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned l return -EINVAL; /* probe for raid first, cause fs probes may be successful on raid members */ - if (volume_id_probe_linux_raid(id, off, size) == 0) - goto exit; + if (size) { + if (volume_id_probe_linux_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_intel_software_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_lsi_mega_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_via_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_silicon_medley_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_nvidia_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_promise_fasttrack_raid(id, off, size) == 0) + goto exit; + + if (volume_id_probe_highpoint_45x_raid(id, off, size) == 0) + goto exit; + } if (volume_id_probe_lvm1(id, off) == 0) goto exit; @@ -79,7 +108,7 @@ int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned l if (volume_id_probe_lvm2(id, off) == 0) goto exit; - if (volume_id_probe_highpoint_ataraid(id, off) == 0) + if (volume_id_probe_highpoint_37x_raid(id, off) == 0) goto exit; if (volume_id_probe_luks(id, off) == 0)