summaryrefslogtreecommitdiffstats
path: root/libblkid/src/superblocks/jmicron_raid.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblkid/src/superblocks/jmicron_raid.c')
-rw-r--r--libblkid/src/superblocks/jmicron_raid.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libblkid/src/superblocks/jmicron_raid.c b/libblkid/src/superblocks/jmicron_raid.c
index c7080780f..ca7986733 100644
--- a/libblkid/src/superblocks/jmicron_raid.c
+++ b/libblkid/src/superblocks/jmicron_raid.c
@@ -32,9 +32,9 @@ static int probe_jmraid(blkid_probe pr,
struct jm_metadata *jm;
if (pr->size < 0x10000)
- return -1;
+ return 1;
if (!S_ISREG(pr->mode) && !blkid_probe_is_wholedisk(pr))
- return -1;
+ return 1;
off = ((pr->size / 0x200) - 1) * 0x200;
jm = (struct jm_metadata *)
@@ -42,15 +42,16 @@ static int probe_jmraid(blkid_probe pr,
off,
sizeof(struct jm_metadata));
if (!jm)
- return -1;
+ return errno ? -errno : 1;
+
if (memcmp(jm->signature, JM_SIGNATURE, sizeof(JM_SIGNATURE) - 1) != 0)
- return -1;
+ return 1;
if (blkid_probe_sprintf_version(pr, "%u.%u",
jm->major_version, jm->minor_version) != 0)
- return -1;
+ return 1;
if (blkid_probe_set_magic(pr, off, sizeof(jm->signature),
(unsigned char *) jm->signature))
- return -1;
+ return 1;
return 0;
}