crimson/os/seastore/zbd: Split iovs in case of bigger buffer sizes.
In Seastore's ZBDSegmentManager, during long running write workloads
if write buffer size exceeds max buf size(IOV_MAX, 16MB),
it was resulting in an assert:
ceph/src/include/buffer.h:1189 : In function 'void ceph::buffer::v15_2_0::list::prepare_iov(VectorT*) const [with VectorT = std::vector<iovec>]', ceph_assert(%s)
This case is handled in BlockSegmentManager by splitting the
IO vectors to appropriate sizes and assert does not happen.
Updated the ZBDSegmentManager to similarly split IO vectors to
appropriate size.
Signed-off-by: Aravind Ramesh <Aravind.Ramesh@wdc.com>
(cherry picked from commit
c15c0de4886a839ffebfd22d8204e7d1ca8a65b2)