Joe Thornber
de7c9a5781
[thin_journal_check] Checks journal of block manager activity.
...
You need to apply doc/bm-journal.patch to create the journal.
thin_journal_check confirms that if the machine had crashed at any time
during the test run no metadata corruption would have occured.
2018-09-24 14:51:46 +01:00
Joe Thornber
70cdfe12a2
[thin_journal_check] first code drop
2018-08-28 13:12:20 +01:00
Ming-Hung Tsai
9837feaee5
[thin_scan] refactoring and performance improvement ( #111 )
2018-08-15 07:56:45 +01:00
Joe Thornber
a512b8754b
Revert "fix compile failed with libc musl ( #103 )"
...
This reverts commit 9311aa6483
.
2018-08-02 07:12:22 +01:00
hongxu-jia
9311aa6483
fix compile failed with libc musl ( #103 )
...
There is a failure while compiling with libc musl:
[snip]
|./block-cache/io_engine.h:18:17: error: expected
unqualified-id before numeric constant
| unsigned const PAGE_SIZE = 4096;
[snip]
The musl defeines macro PAGE_SIZE, undef it conditionally
could fix the issue.
http://musl.openwall.narkive.com/tO8vrHdP/why-musl-define-page-size
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-08-01 07:10:26 +01:00
Joe Thornber
82ff03e5c1
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2018-06-21 10:11:27 +01:00
Joe Thornber
68284c12a8
Merge branch '2018-04-25-thin-discard-bug'
2018-06-21 10:11:21 +01:00
Joe Thornber
498057d00e
ft-lib: add discard()
2018-06-21 10:06:01 +01:00
Joe Thornber
cfe421ab8b
Merge commit '570e11b2da6ee55bc755f5211cf80c4f942b4644'
2018-06-13 16:58:07 +01:00
Joe Thornber
570e11b2da
[dmtests] Add failing test thin/discard/recover-space
...
See bz1563697
2018-06-13 16:54:36 +01:00
Joe Thornber
b6ba3a070d
[restore_emitter] squash a strncpy warning
2018-06-13 12:50:48 +01:00
Joe Thornber
af785461e9
[build] [CXX] -> [CC] for C files
2018-06-13 12:49:57 +01:00
Joe Thornber
80e046a7df
[build] support separate build directories
2018-06-13 09:34:14 +01:00
Joe Thornber
c1e6adc72c
[build] support separate build directories
2018-06-13 09:33:25 +01:00
Dennis Schridde
1311447a94
[build] Include boost/optional/optional_io.hpp in thin-provisioning/emitter.h ( #102 )
...
This fixes following build failure with Boost 1.67.0:
```
In file included from /usr/include/boost/optional/optional.hpp:33,
from /usr/include/boost/optional.hpp:15,
from ./thin-provisioning/emitter.h:23,
from contrib/thin_sexp_emitter.cc:2:
/usr/include/boost/optional/optional.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& boost::operator<<(std::basic_ostream<_CharT, _Traits>&, const boost::optional_detail::optional_tag&) [with CharType = char; CharTrait = std::char_traits<char>]’:
./base/indented_stream.h:31:9: required from ‘{anonymous}::indented_stream& {anonymous}::indented_stream::operator<<(const T&) [with T = boost::optional<unsigned int>]’
contrib/thin_sexp_emitter.cc:105:29: required from ‘void {anonymous}::sexp_emitter::kv(const char*, const T&) [with T = boost::optional<unsigned int>]’
contrib/thin_sexp_emitter.cc:29:21: required from here
/usr/include/boost/optional/optional.hpp:1481:3: error: static assertion failed: If you want to output boost::optional, include header <boost/optional/optional_io.hpp>
BOOST_STATIC_ASSERT_MSG(sizeof(CharType) == 0, "If you want to output boost::optional, include header <boost/optional/optional_io.hpp>");
^~~~~~~~~~~~~~~~~~~~~~~
make: *** [contrib/Makefile:15: contrib/thin_sexp_emitter.o] Error 1
```
boost/optional/optional_io.hpp exists since at least Boost 1.34.0, so it is
safe to include in older versions, too.
2018-06-13 08:42:30 +01:00
Dennis Schridde
bc7864dae8
[build] Fix static build by including contrib/Makefile early ( #100 )
...
Closes : #99
2018-06-13 08:41:53 +01:00
Ming-Hung Tsai
4b08c7793d
[space map] fix accounting of allocatable blocks ( #98 )
...
Preserve the input block first to avoid reusing it in subsequent
shadow operations, e.g., shadow another block when releasing
a recursive lock. (issue #97 )
2018-06-07 07:45:37 +01:00
Jörg Thalheim
6a7351da0d
Fix musl build ( #96 )
...
a) Fix build if limits.h provides definition for PAGE_SIZE, as musl does w/musl per XSI[1] although it's apparently optional [2].
This value is only provided when it's known to be a constant, to avoid the need to discover the value dynamically.
b) If not using system-provided (kernel headers, or libc headers, or something) use the POSIX approach of querying the value
dynamically using sysconf(_SC_PAGE_SIZE) instead of hardcoded value that hopefully is correct.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
[2] http://www.openwall.com/lists/musl/2015/09/11/8
This patch originate from:
https://raw.githubusercontent.com/voidlinux/void-packages/a0ece13ad7ab2aae760e09e41e0459bd999a3695/srcpkgs/thin-provisioning-tools/patches/musl.patch
and was also applied in NixOS:
https://github.com/NixOS/nixpkgs/pull/40559/
cc @dtzWill
2018-05-22 14:02:49 +01:00
Joe Thornber
5d3197b8ab
[build] quieten build of C files
2018-04-25 14:05:28 +01:00
Joe Thornber
6f936992b8
bump version
2018-04-23 10:41:48 +01:00
Joe Thornber
1172b2f450
[functional-tests] with-temp-file-sized now takes *either* bytes or a disk-size object
2018-04-18 15:12:28 +01:00
Ming-Hung Tsai
582e424560
[space-map-disk] fix the number of free blocks ( #93 )
2018-04-17 14:00:44 +01:00
Joe Thornber
e619c6edd0
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2018-04-17 13:33:32 +01:00
Joe Thornber
1433d11f59
[thin-provisioning/metadata] Use latest metadata version (2)
2018-04-17 13:32:49 +01:00
Joe Thornber
58048dc178
[file_utils] Use aligned memory in zero_superblock
2018-04-17 11:42:43 +01:00
Joe Thornber
abb32897e2
[thin_dump] human_readable emitter didn't print the metadata_snap.
2018-04-17 10:29:31 +01:00
Todd Gill
6046ebd4c4
Add autoconf step to Building instructions ( #92 )
...
The configure script doesn't exist until autoconf is run.
Signed-off-by: Todd Gill <tgill@redhat.com>
2018-04-17 10:09:15 +01:00
Robert Northard
0eab1d5676
Correct type readme for thin_restore command ( #91 )
2018-04-17 10:04:20 +01:00
Joe Thornber
5bac06d68f
[man] Update manpage for thin_dump
...
--metadata-snap=<block nr>
Wasn't clear.
2018-01-31 14:39:24 +00:00
Joe Thornber
cf9ab80f86
[functional-tests] Fix (thin metadata)
...
It was using the old, spine based interface for btree-each
2018-01-25 16:11:43 +00:00
Joe Thornber
2fd6723712
[functional-tests/block-manager] wrap the C ptr
...
So we get some extra error checking.
2018-01-25 15:48:56 +00:00
Joe Thornber
12c760f05c
[ft-lib/bcache] add a check to list_pop()
2018-01-25 15:47:12 +00:00
Joe Thornber
1122b9a423
[functional-tests] Code up an equivalent of get_opt_long()
2018-01-25 15:46:27 +00:00
Joe Thornber
54c03f10e6
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2018-01-08 10:52:32 +00:00
Joe Thornber
2aa6c05c4b
[functional-tests] simplify (thin create devices-in-reverse-order)
2017-12-20 09:01:46 +00:00
Joe Thornber
0d4fdcc687
[functional-tests] simplify (thin create devices-in-reverse-order)
2017-12-20 08:31:38 +00:00
Joe Thornber
05151c648c
[functional-tests] from-to loop macro
2017-12-20 08:31:17 +00:00
Joe Thornber
fa8d691744
[functional-tests] Improve (thin create devices-in-reverse-order)
2017-12-19 17:25:10 +00:00
Joe Thornber
2fe7a884a2
[functional-tests] (thin create devices-in-reverse-order)
2017-12-19 15:44:33 +00:00
Joe Thornber
324d17981a
[functional-tests] Get (thin delete recover-space) working
2017-12-18 11:43:33 +00:00
Joe Thornber
0dc237c356
[functional-tests] Move get-dev-size to C code
...
Saves forking blockdev
2017-12-15 15:35:24 +00:00
Joe Thornber
8d26c3729f
[functional-tests] add more padding to the .....'s
2017-12-15 11:29:39 +00:00
Joe Thornber
2614078188
[functional-tests] Improve error message in create-device
2017-12-15 11:18:09 +00:00
Joe Thornber
ee40e4becf
[functional-tests] switch map -> for-each in a couple of places
2017-12-15 11:17:26 +00:00
Joe Thornber
19dfed1da9
[functional-tests] Log exceptions properly
2017-12-15 10:21:59 +00:00
Joe Thornber
3c5408e51b
[functional tests] (thin create bs-multiple-of-64k-good/bad)
2017-12-14 15:57:27 +00:00
Joe Thornber
4b90bd8edb
[functional-tests] ditch define-thin-scenario
...
It obfuscates more than it saves
2017-12-14 15:12:09 +00:00
Joe Thornber
2db8ecf9e9
[functional-tests] some thin/delete tests
2017-12-14 14:58:16 +00:00
Joe Thornber
93213135ad
[functional-tests] finish porting the thin/creation tests
2017-12-12 16:56:55 +00:00
Joe Thornber
d6a5ced23b
Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
2017-12-12 15:28:17 +00:00