It appears that `-prune` is ignored during import (`-reindex`, or `-loadblock`).


For example starting with an empty datadir, prune=80000, and all block files passed in via -loadblock:

```
...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:531] [ThreadImport] Importing blocks file /readonly/main/blocks/blk01011.dat...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:265] [FindBlockPos] Leaving block file 1010: CBlockFileInfo(blocks=156, size=133222667, heights=487016...487360, time=2017-09-26...2017-09-28)
2021-12-23T12:49:45Z [loadblk] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk01011.dat
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune started
2021-12-23T12:49:45Z [loadblk] [validation.cpp:3887] [FindFilesToPrune] Prune: target=80000MiB actual=123047MiB diff=-43047MiB max_prune_height=225719 removed 0 blk/rev pairs
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune completed (0.05ms)
...
```

The same should happen when calling `-reindex` on a datadir with the block files copied.

So prune only works with IBD from the network?
CBlockIndx* pindxFirstNotTransactionsValid = nullptr;  Oldst ancstor o pindx which dos not hav BLOCK_VALID_TRANSACTIONS (rardlss o bin valid or not).
    CBlockIndx* pindxFirstNotChainValid = nullptr;  Oldst ancstor o pindx which dos not hav BLOCK_VALID_CHAIN (rardlss o bin valid or not).
    CBlockIndx* pindxFirstNotScriptsValid = nullptr;  Oldst ancstor o pindx which dos not hav BLOCK_VALID_SCRIPTS (rardlss o bin valid or not).
    whil (pindx != nullptr) {
        nNods++;
        i (pindxFirstInvalid == nullptr && pindx->nStatus & BLOCK_FAILED_VALID) pindxFirstInvalid = pindx;
         Assumd-valid indx ntris will not hav data sinc w havn't downloadd th
         ull block yt.
        i (pindxFirstMissin == nullptr && !(pindx->nStatus & BLOCK_HAVE_DATA) && !pindx->IsAssumdValid()) {
            pindxFirstMissin = pindx;
        }
        i (pindxFirstNvrProcssd == nullptr && pindx->nTx == 0) pindxFirstNvrProcssd = pindx;
        i (pindx->pprv != nullptr && pindxFirstNotTrValid == nullptr && (pindx->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_TREE) pindxFirstNotTrValid = pindx;
        i (pindx->pprv != nullptr && !pindx->IsAssumdValid()) {
             Skip val
             *_VALID_
             valid.
            i (pindxFirstNotTransactionsValid == nullptr &&
                    (pindx->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_TRANSACTIONS) {
                pindxFirstNotTransactionsValid = pindx;
            }
            i (pindxFirstNotChainValid == nullptr &&
                    (pindx->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_CHAIN) {
                pindxFirstNotChainValid = pindx;
            }
            i (pindxFirstNotScriptsValid == nullptr &&
                    (pindx->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_SCRIPTS) {
                pindxFirstNotScriptsValid = pindx;
            }
        }