From 304b08a23a3db57010078046955a786fe3589ef8 Mon Sep 17 00:00:00 2001 From: Lluis Pamies-Juarez Date: Wed, 18 Jun 2014 10:00:09 -0700 Subject: [PATCH] enforce rados put aligment Signed-off-by: Lluis Pamies-Juarez --- src/tools/rados/rados.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index a043b77c355a..85c7340a0ff5 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -1361,6 +1361,15 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, } } + // align op_size + if (io_ctx.pool_requires_alignment()) { + const uint64_t align = io_ctx.pool_required_alignment(); + const bool wrn = (op_size != (1<<22)); + op_size = uint64_t((op_size + align - 1) / align) * align; + if (wrn) + cerr << "WARNING: op_size has been rounded to " << op_size << std::endl; + } + // snapname? if (snapname) { ret = io_ctx.snap_lookup(snapname, &snapid); -- 2.47.3