Otherwise the buffers may be shared between object files if the same
bufferlist was passed to several operations (append and write_full were
affected).
Signed-off-by: Mykola Golub <mgolub@suse.com>
}
RWLock::WLocker l(file->lock);
- file->data.append(bl);
+ auto off = file->data.length();
+ ensure_minimum_length(off + bl.length(), &file->data);
+ file->data.copy_in(off, bl.length(), bl);
return 0;
}
}
file->data.clear();
- file->data.append(bl);
+ ensure_minimum_length(bl.length(), &file->data);
+ file->data.copy_in(0, bl.length(), bl);
return 0;
}