Page MenuHomePhabricator

util: Remove DirIsWritable, GetUniquePath
ClosedPublic

Authored by PiRK on Sat, Mar 14, 08:03.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC3f2f6c1b581a: util: Remove DirIsWritable, GetUniquePath
Summary

Return enum in LockDirectory

This makes it easier to add more Error cases in the future. Also, add
missing util namespace.

Return LockResult::ErrorWrite in LockDirectory

This allows the caller to remove a call to DirIsWritable(), which did a
similar check. Users should not notice any different behavior.

Remove DirIsWritable, GetUniquePath

This is a backport of core#28075

Test Plan

ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Sat, Mar 14, 08:03

comment to previous line

Tail of the build log:

[612/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o
[613/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[614/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o
[615/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[616/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[617/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o
[618/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o
[619/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o
[620/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[621/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[622/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[623/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[624/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o
[625/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o
[626/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o
[627/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[628/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o
[629/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o
[630/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o
[631/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o
[632/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o
[633/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o
[634/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o
[635/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o
[636/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o
[637/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/pool.cpp.o
[638/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o
[639/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o
[640/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o
[641/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/streams_findbyte.cpp.o
[642/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[643/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[644/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[645/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/strencodings.cpp.o
[646/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[647/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o
[648/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chained_tx.cpp.o
[649/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/load_external.cpp.o
[650/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[651/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/peer_eviction.cpp.o
[652/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[653/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o
[654/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[655/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o
[656/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o
[657/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[658/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/readwriteblock.cpp.o
[659/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[660/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[661/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[662/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[663/671] Linking CXX executable src/bench/bitcoin-bench
[664/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[665/671] Linking CXX static library src/qt/libbitcoin-qt-base.a
[666/671] Automatic MOC for target bitcoin-qt
[667/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[668/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[669/671] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

[612/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o
[613/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[614/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o
[615/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[616/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[617/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o
[618/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o
[619/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[620/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[621/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o
[622/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[623/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[624/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o
[625/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o
[626/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o
[627/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o
[628/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o
[629/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o
[630/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o
[631/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o
[632/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[633/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o
[634/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o
[635/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o
[636/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/pool.cpp.o
[637/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o
[638/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o
[639/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o
[640/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/strencodings.cpp.o
[641/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/streams_findbyte.cpp.o
[642/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/platformstyle.cpp.o
[643/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvalidatedlineedit.cpp.o
[644/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qvaluecombobox.cpp.o
[645/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o
[646/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[647/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o
[648/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chained_tx.cpp.o
[649/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[650/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[651/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/load_external.cpp.o
[652/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o
[653/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[654/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/peer_eviction.cpp.o
[655/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o
[656/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/readwriteblock.cpp.o
[657/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[658/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o
[659/671] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[660/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[661/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[662/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[663/671] Linking CXX executable src/bench/bitcoin-bench
[664/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[665/671] Linking CXX static library src/qt/libbitcoin-qt-base.a
[666/671] Automatic MOC for target bitcoin-qt
[667/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[668/671] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[669/671] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1
PiRK planned changes to this revision.Sat, Mar 14, 12:04

to be rebased

This revision is now accepted and ready to land.Mon, Mar 16, 21:04