Tools now open the metadata device in O_EXCL mode.

An attempt to stop people running the tools on active metadata.
This commit is contained in:
Joe Thornber
2015-07-07 13:47:00 +01:00
parent 7d8b6adf4e
commit 642ae6e7c2
6 changed files with 39 additions and 26 deletions

View File

@@ -52,7 +52,8 @@ namespace persistent_data {
block_manager(std::string const &path,
block_address nr_blocks,
unsigned max_concurrent_locks,
mode m);
mode m,
bool excl = true);
class read_ref {
public:
@@ -134,7 +135,8 @@ namespace persistent_data {
bool is_locked(block_address b) const;
private:
int open_or_create_block_file(std::string const &path, off_t file_size, mode m);
int open_or_create_block_file(std::string const &path, off_t file_size,
mode m, bool excl);
void check(block_address b) const;
int fd_;