chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
5caa40b
)
volume_id: run only once into a timeout for unreadable devices
author
Kay Sievers
<kay.sievers@vrfy.org>
Sun, 16 Dec 2007 18:56:04 +0000
(19:56 +0100)
committer
Kay Sievers
<kay.sievers@vrfy.org>
Sun, 16 Dec 2007 18:56:04 +0000
(19:56 +0100)
extras/volume_id/lib/volume_id.c
patch
|
blob
|
history
diff --git
a/extras/volume_id/lib/volume_id.c
b/extras/volume_id/lib/volume_id.c
index 59303d5bffce2f2e8228f33980bf7a385151d3ee..b82de2344de33cb6624e993577cb009b0462dc1f 100644
(file)
--- a/
extras/volume_id/lib/volume_id.c
+++ b/
extras/volume_id/lib/volume_id.c
@@
-347,6
+347,10
@@
int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t size)
if (id == NULL)
return -EINVAL;
if (id == NULL)
return -EINVAL;
+ /* run only once into a timeout for unreadable devices */
+ if (volume_id_get_buffer(id, 0x00, 0x200) == NULL)
+ return -1;
+
info("probing at offset 0x%llx, size 0x%llx",
(unsigned long long) off, (unsigned long long) size);
info("probing at offset 0x%llx, size 0x%llx",
(unsigned long long) off, (unsigned long long) size);
@@
-378,6
+382,10
@@
int volume_id_probe_filesystem(struct volume_id *id, uint64_t off, uint64_t size
if (id == NULL)
return -EINVAL;
if (id == NULL)
return -EINVAL;
+ /* run only once into a timeout for unreadable devices */
+ if (volume_id_get_buffer(id, 0x00, 0x200) == NULL)
+ return -1;
+
info("probing at offset 0x%llx, size 0x%llx",
(unsigned long long) off, (unsigned long long) size);
info("probing at offset 0x%llx, size 0x%llx",
(unsigned long long) off, (unsigned long long) size);