From: Kern Sibbald Date: Tue, 19 Sep 2006 08:54:27 +0000 (+0000) Subject: Tweak wait in read/write loop of block.c X-Git-Tag: Release-2.0.0~435 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0ab5e48f10279225528a974754ef97e0173e9a82;p=bacula%2Fbacula Tweak wait in read/write loop of block.c git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3482 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/stored/block.c b/bacula/src/stored/block.c index 89410716a7..89fc951e25 100644 --- a/bacula/src/stored/block.c +++ b/bacula/src/stored/block.c @@ -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()) {