Two FIXMEs

blocking-uring-test
Vitaliy Filippov 2019-11-28 01:00:22 +03:00
parent cbf5173d1b
commit d56cb290ee
2 changed files with 3 additions and 3 deletions

View File

@ -181,6 +181,7 @@ resume_0:
if (dirty_it->second.state == ST_J_STABLE && !skip_copy)
{
// First we submit all reads
// FIXME: Introduce a (default) mode where we'll keep the whole journal in memory instead of re-reading data during flush
offset = dirty_it->second.offset;
len = dirty_it->second.len;
it = v.begin();

View File

@ -72,9 +72,8 @@ int blockstore::dequeue_write(blockstore_operation *op)
int vcnt = 0;
if (op->version == 1 && op->len != block_size)
{
// zero fill newly allocated object
// This thing turns new small writes into big writes
// So FIXME: consider writing an empty big_write as version 1 instead of zero-filling here
// Zero fill newly allocated object. First write is always a big write
// FIXME: Add "no-zero-fill" mode which will just leave random garbage (insecure, but may be useful)
if (op->offset > 0)
op->iov_zerofill[vcnt++] = (struct iovec){ zero_object, op->offset };
op->iov_zerofill[vcnt++] = (struct iovec){ op->buf, op->len };