commitlog: fix size of a write used to zero a segment
Due to a bug the entire segment is written in one huge write of 32Mb.
The idea was to split it to writes of 128K, so fix it.
Fixes #5857
Message-Id: <20200220102939.30769-1-gleb@scylladb.com>
(cherry picked from commit df2f67626b)
This commit is contained in:
@@ -1323,7 +1323,7 @@ future<db::commitlog::segment_manager::sseg_ptr> db::commitlog::segment_manager:
|
||||
std::vector<iovec> v;
|
||||
v.reserve(n);
|
||||
size_t m = 0;
|
||||
while (m < rem && n < max_write) {
|
||||
while (m < rem && n--) {
|
||||
auto s = std::min(rem - m, buf_size);
|
||||
v.emplace_back(iovec{ buf.get_write(), s});
|
||||
m += s;
|
||||
|
||||
Reference in New Issue
Block a user