[libvirt] [PATCH] storage: Add timeout for iscsi volume's stable path discovery

Osier Yang jyang at redhat.com
Tue Sep 25 09:09:56 UTC 2012


On 2012年09月25日 00:42, Eric Blake wrote:
> On 09/24/2012 02:44 AM, Osier Yang wrote:
>> It might need some time till the LUN's stable path shows up on
>> initiator host, and although the time window is not foreseeable,
>> as a better than nothing fix, this patch adds timeout for the
>> stable path discovery process.
>> ---
>>   src/storage/storage_backend.c |   14 ++++++++++++--
>>   1 files changed, 12 insertions(+), 2 deletions(-)
>
>
>> @@ -1384,8 +1385,12 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool,
>>       /* The pool is pointing somewhere like /dev/disk/by-path
>>        * or /dev/disk/by-id, so we need to check all symlinks in
>>        * the target directory and figure out which one points
>> -     * to this device node
>> +     * to this device node.
>> +     *
>> +     * And it might need some time till the stabe path shows
>
> s/stabe/stable/
>
>> +     * up, so add timeout to retry here.
>>        */
>> + retry:
>>       while ((dent = readdir(dh)) != NULL) {
>>           if (dent->d_name[0] == '.')
>>               continue;
>> @@ -1406,6 +1411,11 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool,
>>           VIR_FREE(stablepath);
>>       }
>>
>> +    if (++retry<  100) {
>
> Why a magic number of 100?  Not even a comment mentioning the maximum
> time we are waiting?
>
>> +        usleep(100 * 1000);
>
> This says up to 100ms * 100, or 10 seconds.  I guess that seems
> reasonable enough.
>
> ACK if you fix those issues.
>
>

Thanks, pushed with nits fixed.




More information about the libvir-list mailing list