X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fvolume_id%2Flib%2Fvolume_id.c;h=bcdbe2feaaf1129a2b053ea1a9ae2a8d5408b2e8;hp=9f8e39b51814f28928b2db02ac110b07c0b4c51a;hb=e55a73abb07e6949ebbf17fa08a3ddeaddbbc41f;hpb=92da64c700371126ee3bde79f983e0b3056d9442 diff --git a/extras/volume_id/lib/volume_id.c b/extras/volume_id/lib/volume_id.c index 9f8e39b51..bcdbe2fea 100644 --- a/extras/volume_id/lib/volume_id.c +++ b/extras/volume_id/lib/volume_id.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -42,6 +41,9 @@ int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t size) if (id == NULL) return -EINVAL; + info("probing at offset 0x%llx, size 0x%llx", + (unsigned long long) off, (unsigned long long) size); + /* probe for raid first, because fs probes may be successful on raid members */ if (size) { if (volume_id_probe_linux_raid(id, off, size) == 0) @@ -67,6 +69,12 @@ int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t size) if (volume_id_probe_highpoint_45x_raid(id, off, size) == 0) goto found; + + if (volume_id_probe_adaptec_raid(id, off, size) == 0) + goto found; + + if (volume_id_probe_jmicron_raid(id, off, size) == 0) + goto found; } if (volume_id_probe_lvm1(id, off) == 0) @@ -91,10 +99,12 @@ int volume_id_probe_filesystem(struct volume_id *id, uint64_t off, uint64_t size if (id == NULL) return -EINVAL; + info("probing at offset 0x%llx, size 0x%llx", + (unsigned long long) off, (unsigned long long) size); + if (volume_id_probe_luks(id, off) == 0) goto found; - /* signature in the first block, only small buffer needed */ if (volume_id_probe_vfat(id, off) == 0) goto found; @@ -158,6 +168,15 @@ int volume_id_probe_filesystem(struct volume_id *id, uint64_t off, uint64_t size if (volume_id_probe_squashfs(id, off) == 0) goto found; + if (volume_id_probe_netware(id, off) == 0) + goto found; + + if (volume_id_probe_gfs(id, off) == 0) + goto found; + + if (volume_id_probe_gfs2(id, off) == 0) + goto found; + return -1; found: