[thin_show_duplicates] wip

This commit is contained in:
Joe Thornber
2015-08-19 12:32:57 +01:00
parent dbd0c65088
commit 59a622670c
4 changed files with 124 additions and 8 deletions

View File

@@ -223,6 +223,7 @@ namespace persistent_data {
unsigned max_concurrent_blocks,
mode m,
bool excl)
// FIXME: * BlockSize ?
: fd_(open_or_create_block_file(path, nr_blocks * BlockSize, m, excl)),
bc_(fd_, BlockSize >> SECTOR_SHIFT, nr_blocks, 1024u * 1024u * 16),
superblock_ref_count_(0)

View File

@@ -12,7 +12,7 @@ using namespace base;
//----------------------------------------------------------------
persistent_data::block_address
persistent_data::get_nr_blocks(string const &path)
persistent_data::get_nr_blocks(string const &path, sector_t block_size)
{
using namespace persistent_data;
@@ -39,7 +39,7 @@ persistent_data::get_nr_blocks(string const &path)
throw runtime_error("ioctl BLKGETSIZE64 failed");
}
::close(fd);
nr_blocks = div_down<block_address>(nr_blocks, MD_BLOCK_SIZE);
nr_blocks = div_down<block_address>(nr_blocks, block_size);
} else
// FIXME: needs a better message
throw runtime_error("bad path");

View File

@@ -9,7 +9,7 @@
// FIXME: move to a different unit
namespace persistent_data {
persistent_data::block_address get_nr_blocks(string const &path);
persistent_data::block_address get_nr_blocks(string const &path, sector_t block_size = MD_BLOCK_SIZE);
block_manager<>::ptr open_bm(std::string const &dev_path,
block_manager<>::mode m, bool excl = true);