#include "include/radosstriper/libradosstriper.h"
#include "include/radosstriper/libradosstriper.hpp"
#include "include/ceph_fs.h"
+#include "common/backport14.h"
#include "test/librados/test.h"
#include "test/libradosstriper/TestCase.h"
<< "_" << testData.size;
std::string soid = oss.str();
// writing striped data
- char* buf1;
+ std::unique_ptr<char[]> buf1;
bufferlist bl1;
{
SCOPED_TRACE("Writing initial object");
- buf1 = (char*) calloc(1, testData.size);
+ buf1 = ceph::make_unique<char[]>(testData.size);
for (unsigned int i = 0; i < testData.size; i++) buf1[i] = 13*((unsigned char)i);
- bl1.append(buf1, testData.size);
+ bl1.append(buf1.get(), testData.size);
ASSERT_EQ(0, striper.write(soid, bl1, testData.size, 0));
// checking object state from Rados point of view
ASSERT_NO_FATAL_FAILURE(checkObjectFromRados(soid, bl1, testData.stripe_unit,
testData.size));
}
// adding more data to object and checking again
- char* buf2;
+ std::unique_ptr<char[]> buf2;
bufferlist bl2;
{
SCOPED_TRACE("Testing append");
- buf2 = (char*) calloc(1, testData.size);
+ buf2 = ceph::make_unique<char[]>(testData.size);
for (unsigned int i = 0; i < testData.size; i++) buf2[i] = 17*((unsigned char)i);
- bl2.append(buf2, testData.size);
+ bl2.append(buf2.get(), testData.size);
ASSERT_EQ(0, striper.append(soid, bl2, testData.size));
- bl1.append(buf2, testData.size);
+ bl1.append(buf2.get(), testData.size);
ASSERT_NO_FATAL_FAILURE(checkObjectFromRados(soid, bl1, testData.stripe_unit,
testData.stripe_count, testData.object_size,
testData.size*2));
free(oid);
}
}
- free(buf1);
- free(buf2);
}
const TestData simple_stripe_schemes[] = {