afs: consolidate duplicated wait-for-cache-drain code
[openafs.git] / src / afs / SOLARIS / osi_vnodeops.c
index 81147d5..a765449 100644 (file)
@@ -695,13 +695,7 @@ afs_nfsrdwr(struct vcache *avc, struct uio *auio, enum uio_rw arw,
     afs_MaybeWakeupTruncateDaemon();
     while ((arw == UIO_WRITE)
           && (afs_blocksUsed > PERCENT(CM_WAITFORDRAINPCT, afs_cacheBlocks))) {
-       if (afs_blocksUsed - afs_blocksDiscarded >
-           PERCENT(CM_WAITFORDRAINPCT, afs_cacheBlocks)) {
-           if (afs_WaitForCacheDrain == 0)
-               afs_WaitForCacheDrainCount++;
-           afs_WaitForCacheDrain = 1;
-           afs_osi_Sleep(&afs_WaitForCacheDrain);
-       }
+       afs_MaybeWaitForCacheDrain();
        afs_MaybeFreeDiscardedDCache();
        afs_MaybeWakeupTruncateDaemon();
     }