]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afscp: Fix -s option for writes
authorAndrew Deason <adeason@sinenomine.net>
Thu, 27 Jan 2011 19:13:21 +0000 (13:13 -0600)
committerStephan Wiesand <stephan.wiesand@desy.de>
Tue, 20 Aug 2013 22:26:40 +0000 (15:26 -0700)
When writing to AFS with afscp, the -s option was sleeping before any
StoreData RPCs actually got issued to the fileserver. Move the sleep
to after we have done one rx_Read/rx_Write, so we sleep after starting
to contact the fileserver, to make sleeping while writing more
consistent with sleeping while reading.

Reviewed-on: http://gerrit.openafs.org/3762
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 380cc22a45dff7e40cd50d57a56742b59ccc4952)

Change-Id: I5bafad6958111bfb196adde79361939b00a176a1
Reviewed-on: http://gerrit.openafs.org/9417
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
src/tests/afscp.c

index 08b4d65732072074d7c16eb7520bcb34c62c3baf..0568439157a94935ac56c5029f1434bf749edb4e 100644 (file)
@@ -484,14 +484,6 @@ main(int argc, char **argv)
        bytesremaining = ntohl(bytesremaining);
     }
 
-    if (sleeptime > 0) {
-#ifdef AFS_PTHREAD_ENV
-       sleep(sleeptime);
-#else
-       IOMGR_Sleep(sleeptime);
-#endif
-    }
-
     while (bytesremaining > 0) {
        /*printf("%d bytes remaining\n",bytesremaining); */
        if (slcl) {
@@ -515,6 +507,17 @@ main(int argc, char **argv)
            if (rx_Write(dcall, databuffer, bytes) != bytes)
                break;
        }
+
+       if (sleeptime > 0) {
+#ifdef AFS_PTHREAD_ENV
+           sleep(sleeptime);
+#else
+           IOMGR_Sleep(sleeptime);
+#endif
+           /* only sleep once */
+           sleeptime = 0;
+       }
+
        bytesremaining -= bytes;
        /*printf("%d bytes copied\n",bytes); */
     }