int Ebofs::mount()
{
- dout(2) << "mounting " << dev.get_device_name() << " " << dev.get_num_blocks() << " blocks, " << nice_blocks(dev.get_num_blocks()) << endl;
-
ebofs_lock.Lock();
assert(!mounted);
return r;
}
+ dout(2) << "mounting " << dev.get_device_name() << " " << dev.get_num_blocks() << " blocks, " << nice_blocks(dev.get_num_blocks()) << endl;
+
// read super
bufferptr bp1 = bufferpool.alloc(EBOFS_BLOCK_SIZE);
bufferptr bp2 = bufferpool.alloc(EBOFS_BLOCK_SIZE);
for (unsigned i=0; i<extra.size(); i++)
allocator.release(extra[i]);
}
+
+ // update uncommitted
+ interval_set<block_t> uncom;
+ if (nblocks > 0) {
+ interval_set<block_t> left;
+ left.insert(0, nblocks);
+ uncom.intersection_of(left, on->uncommitted);
+ }
+ dout(10) << "uncommitted was " << on->uncommitted << " now " << uncom << endl;
+ on->uncommitted = uncom;
}
else {
assert(size == on->object_size);
if (on.is_dirty()) out << " dirty";
if (on.is_dangling()) out << " dangling";
if (on.is_deleted()) out << " deleted";
+ out << " uncom=" << on.uncommitted;
// out << " " << &on;
out << ")";
return out;