Commit Graph

39 Commits

Author SHA1 Message Date
Joe Thornber
2598648e62 Introduce a buffer class that has its own allocator which makes sure
the buffer is 512 byte aligned.

Open metadata devices with O_DIRECT to let us work with live metadata.
2012-05-17 13:05:26 +01:00
Joe Thornber
9e00ab07b8 add support for held_root to thin_dump 2012-05-17 12:28:23 +01:00
Heinz Mauelshagen
ef7e3b7e94 Catch bz802242 artifical zero size file segfault 2012-03-13 12:26:35 +01:00
Heinz Mauelshagen
ba6984504e Fix segfault with file argument 2012-03-13 12:15:32 +01:00
Joe Thornber
a4b41e90ad introduce checksum_exception 2012-02-27 14:07:16 +00:00
Heinz Mauelshagen
8cf27fdbb0 Correct copyright year 2011-12-15 19:34:31 +01:00
Joe Thornber
bfe22274d9 actually add the copyright 2011-12-06 13:53:05 +00:00
Joe Thornber
cc9dab3ead --amend 2011-12-06 13:43:56 +00:00
Joe Thornber
4f325b96ad recursive space map 2011-11-09 11:12:33 +00:00
Joe Thornber
c6dbccd15a Add index validator. 2011-11-07 10:34:43 +00:00
Joe Thornber
6bff674720 thin_restore works (well thin_repair thinks it does). 2011-11-03 14:55:36 +00:00
Joe Thornber
5c7287929a Make all the members of metadata shared_ptrs so it's easier to defer
construction.
2011-10-28 16:28:24 +01:00
Joe Thornber
a134e853b4 rename core_map -> space_map_core 2011-10-28 14:28:59 +01:00
Joe Thornber
076131aac1 pass an extra open|create enum to metadata ctr 2011-10-28 14:26:06 +01:00
Joe Thornber
b98fc8abb6 rename metadata_ll -> metadata 2011-10-28 12:25:06 +01:00
Joe Thornber
c2dfb0b462 Rename metadata -> thin_pool/thin 2011-10-28 12:21:58 +01:00
Joe Thornber
925d9d583f metadata_checker 2011-10-28 12:07:21 +01:00
Joe Thornber
9c9d6f2e15 Split the metadata class into a low level one that other interfaces
can use (metadata_ll), and the existing high level one.
2011-10-28 11:31:00 +01:00
Joe Thornber
13e26684f7 [thin_repair] speed up ref count validation 2011-10-25 11:27:59 +01:00
Joe Thornber
d02fcde793 add a cache to the block manager 2011-10-24 18:04:19 +01:00
Joe Thornber
d255180e37 thin dump now does something useful 2011-10-10 14:10:30 +01:00
Joe Thornber
478069c4ec more checksum stuff 2011-09-16 10:08:53 +01:00
Joe Thornber
6da9ce9ef7 calculate the number of blocks in a metadata device properly 2011-09-02 15:22:46 +01:00
Joe Thornber
e727bc943a check keys are strictly ordered, and parent keys are correct 2011-09-02 14:06:36 +01:00
Joe Thornber
e408192b06 rename btree_validator to btree_checker 2011-08-31 13:38:22 +01:00
Joe Thornber
9cfdbfb8cc Having the block size as a template parameter makes all the code very
verbose, and we're not likely to change it.  So this change removes
that template arg from everything except the block manager.
2011-08-31 13:04:08 +01:00
Joe Thornber
19c7144b3b roots automatically get their ref count bumped now 2011-08-26 15:30:14 +01:00
Joe Thornber
90675d3a95 include sm_disk bitmaps in metadata counts 2011-08-26 11:13:13 +01:00
Joe Thornber
3f5e95809f include the btree roots in the ref count audit 2011-08-25 16:13:54 +01:00
Joe Thornber
550b8ca35a make sure we take the metadata bitmaps into account for the reference counting 2011-08-25 16:10:03 +01:00
Joe Thornber
fce7e99d9a improve reference count tracking 2011-08-25 15:51:40 +01:00
Joe Thornber
52f03b7542 check metadata reference counts 2011-08-25 15:05:23 +01:00
Joe Thornber
dfe3275eac get compiling on g++ 4.4 2011-08-25 10:54:43 +01:00
Joe Thornber
04d7b7ce5b [thin-repair] stop using c++0x features 2011-08-24 14:27:45 +01:00
Joe Thornber
987a8360c9 [thin_repair] repair now checks the data reference counts. 2011-08-24 10:45:39 +01:00
Joe Thornber
511456f903 Some work on thin_repair. 2011-08-23 11:55:37 +01:00
Joe Thornber
a683979585 space map disk 2011-07-22 16:09:56 +01:00
Joe Thornber
c090bb88b5 write some code 2011-06-27 10:45:30 +01:00
Joe Thornber
2e39670ff9 write a lot of the persistent data classes 2011-06-23 14:47:08 +01:00