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=7c68fb1ef9fdb42cb77c2e3164982949a4ad2a36;hp=e8f6de35fdc607ca058c206c8ae1a6aa4c123b40;hb=8b5238670d2e741bc71ae3e79b499682965dc2fd;hpb=573bdd7e7588b70105c2976859696037899e9d4d;ds=sidebyside diff --git a/extras/volume_id/lib/volume_id.c b/extras/volume_id/lib/volume_id.c index e8f6de35f..7c68fb1ef 100644 --- a/extras/volume_id/lib/volume_id.c +++ b/extras/volume_id/lib/volume_id.c @@ -331,9 +331,9 @@ err: } /* run only once into a timeout for unreadable devices */ -static int device_is_readable(struct volume_id *id) +static int device_is_readable(struct volume_id *id, uint64_t off) { - if (volume_id_get_buffer(id, 0x00, 0x200) != NULL) + if (volume_id_get_buffer(id, off, 0x200) != NULL) return 1; return 0; } @@ -355,7 +355,7 @@ int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t size) if (id == NULL) return -EINVAL; - if (!device_is_readable(id)) + if (!device_is_readable(id, off)) return -1; info("probing at offset 0x%llx, size 0x%llx", @@ -389,7 +389,7 @@ int volume_id_probe_filesystem(struct volume_id *id, uint64_t off, uint64_t size if (id == NULL) return -EINVAL; - if (!device_is_readable(id)) + if (!device_is_readable(id, off)) return -1; info("probing at offset 0x%llx, size 0x%llx", @@ -421,7 +421,7 @@ int volume_id_probe_all(struct volume_id *id, uint64_t off, uint64_t size) if (id == NULL) return -EINVAL; - if (!device_is_readable(id)) + if (!device_is_readable(id, off)) return -1; /* probe for raid first, because fs probes may be successful on raid members */