As you're dealing with 1 cluster at a time (because you've fetched it explicitly with df->getFileDescriptor(clusterName) ...
.. there should be no need to check 'clusterNum' here with copyClusterNum, nor check the replicate #.
The 1st copy of each part will be primary.
So you shouldn't need this, or the for numCopies loop skipping all >1, just get copy 0.