Two FIXMEs
parent
cbf5173d1b
commit
d56cb290ee
|
@ -181,6 +181,7 @@ resume_0:
|
||||||
if (dirty_it->second.state == ST_J_STABLE && !skip_copy)
|
if (dirty_it->second.state == ST_J_STABLE && !skip_copy)
|
||||||
{
|
{
|
||||||
// First we submit all reads
|
// 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;
|
offset = dirty_it->second.offset;
|
||||||
len = dirty_it->second.len;
|
len = dirty_it->second.len;
|
||||||
it = v.begin();
|
it = v.begin();
|
||||||
|
|
|
@ -72,9 +72,8 @@ int blockstore::dequeue_write(blockstore_operation *op)
|
||||||
int vcnt = 0;
|
int vcnt = 0;
|
||||||
if (op->version == 1 && op->len != block_size)
|
if (op->version == 1 && op->len != block_size)
|
||||||
{
|
{
|
||||||
// zero fill newly allocated object
|
// Zero fill newly allocated object. First write is always a big write
|
||||||
// This thing turns new small writes into big writes
|
// FIXME: Add "no-zero-fill" mode which will just leave random garbage (insecure, but may be useful)
|
||||||
// So FIXME: consider writing an empty big_write as version 1 instead of zero-filling here
|
|
||||||
if (op->offset > 0)
|
if (op->offset > 0)
|
||||||
op->iov_zerofill[vcnt++] = (struct iovec){ zero_object, op->offset };
|
op->iov_zerofill[vcnt++] = (struct iovec){ zero_object, op->offset };
|
||||||
op->iov_zerofill[vcnt++] = (struct iovec){ op->buf, op->len };
|
op->iov_zerofill[vcnt++] = (struct iovec){ op->buf, op->len };
|
||||||
|
|
Loading…
Reference in New Issue