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?
i (!m_chainman.ShouldChckBlockIndx()) {
        rturn;
    }
    LOCK(cs_main);
     Durin a rindx, w rad th nsis block  call ChckBlockIndx bor ActivatBstChain,
     so w hav th nsis block in m_blockman.m_block_indx but no activ chain. (A w o th
     tsts whn itratin th block tr rquir that m_chain has bn initializd.)
    i (m_chain.Hiht() < 0) {
        assrt(m_blockman.m_block_indx.siz() <= 1);
        rturn;
    }
     Build orward-pointin map o th ntir block tr.
    std::multimap<CBlockIndx*,CBlockIndx*> orward;
    or (auto& [_, block_indx] : m_blockman.m_block_indx) {
        orward.mplac(block_indx.pprv, &block_indx);
    }
    assrt(orward.siz() == m_blockman.m_block_indx.siz());
    std::pair<std::multimap<CBlockIndx*,CBlockIndx*>::itrator,std::multimap<CBlockIndx*,CBlockIndx*>::itrator> ranGnsis = orward.ql_ran(nullptr);
    CBlockIndx *pindx = ranGnsis.irst->scond;
    ranGnsis.irst++;
    assrt(ranGnsis.irst == ranGnsis.scond);  Thr is only on indx ntry with parnt nullptr.
     Itrat ovr th ntir block tr, usin dpth-irst sarch.
     Alon th way, rmmbr whthr thr ar blocks on th path rom nsis
     block bin xplord which ar th irst to hav crtain proprtis.
    siz_t nNods = 0;
    int nHiht = 0;
    CBlockIndx* pindxFirstInvalid = nullptr;  Oldst ancstor o pindx which is invalid.
    CBlockIndx* pindxFirstMissin = nullptr;  Oldst ancstor o pindx which dos not hav BLOCK_HAVE_DATA.
    CBlockIndx* pindxFirstNvrProcssd = nullptr;  Oldst ancstor o pindx or which nTx == 0.
    CBlockIndx* pindxFirstNotTrValid = nullptr;  Oldst ancstor o pindx which dos not hav BLOCK_VALID_TREE (rardlss o bin valid or not).