[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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

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


+     * up, so add timeout to retry here.
+ retry:
      while ((dent = readdir(dh)) != NULL) {
          if (dent->d_name[0] == '.')
@@ -1406,6 +1411,11 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool,

+    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.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]