]> git.sur5r.net Git - bacula/bacula/commitdiff
Tweak wait in read/write loop of block.c
authorKern Sibbald <kern@sibbald.com>
Tue, 19 Sep 2006 08:54:27 +0000 (08:54 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 19 Sep 2006 08:54:27 +0000 (08:54 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3482 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/stored/block.c

index 89410716a71d7769558dc8e103377464e0f6db1d..89fc951e255b2ce5b9e4dfdbacc648292e468e53 100644 (file)
@@ -515,7 +515,10 @@ bool write_block_to_dev(DCR *dcr)
    int retry = 0;
    errno = 0;
    do {
-      if ((retry > 0 && errno == EBUSY) || retry > 10) {
+      if ((retry > 0 && stat == -1 && errno == EBUSY) || retry > 10) {
+         berrno be;
+         Dmsg4(100, "===== retry=%d stat=%d errno=%d: ERR=%s\n",
+               retry, stat, errno, be.strerror());
          bmicrosleep(0, 50000);    /* pause a bit if busy or lots of errors */
       }
       if (dev->is_tape()) {
@@ -951,8 +954,12 @@ reread:
    
    retry = 0;
    errno = 0;
+   stat = 0;
    do {
-      if ((retry > 0 && errno == EBUSY) || retry > 10) {
+      if ((retry > 0 && stat == -1 && errno == EBUSY) || retry > 10) {
+         berrno be;
+         Dmsg4(100, "===== retry=%d stat=%d errno=%d: ERR=%s\n",
+               retry, stat, errno, be.strerror());
          bmicrosleep(0, 50000);    /* pause a bit if busy or lots of errors */
       }
       if (dev->is_tape()) {