for multipart uploads that prevents a multipart request that was initiated
with a new radosgw from being completed by an old radosgw.
+* Librados interface change: As there are no partial writes, the rados_write()
+ and rados_append() operations now return 0 on success like rados_write_full()
+ always has. This includes the C++ interface equivalents and AIO return
+ values for the aio variants.
+
Upgrading from v0.79
--------------------
* @param buf data to write
* @param len length of the data, in bytes
* @param off byte offset in the object to begin writing at
- * @returns number of bytes written on success, negative error code on
- * failure
+ * @returns 0 on success, negative error code on failure
*/
int rados_write(rados_ioctx_t io, const char *oid, const char *buf, size_t len, uint64_t off);
* @param oid the name of the object
* @param buf the data to append
* @param len length of buf (in bytes)
- * @returns number of bytes written on success, negative error code on
- * failure
+ * @returns 0 on success, negative error code on failure
*/
int rados_append(rados_ioctx_t io, const char *oid, const char *buf, size_t len);
// for read
bool is_read;
bufferlist bl;
- unsigned maxlen;
IoCtxImpl *io;
ceph_tid_t aio_write_seq;
callback_safe(0),
callback_complete_arg(0),
callback_safe_arg(0),
- is_read(false), maxlen(0),
+ is_read(false),
io(NULL), aio_write_seq(0), aio_write_list_item(this) { }
int set_complete_callback(void *cb_arg, rados_callback_t cb) {
bufferlist mybl;
mybl.substr_of(bl, 0, len);
op.write(off, mybl);
- int r = operate(oid, &op, NULL);
- if (r < 0)
- return r;
-
- return len;
+ return operate(oid, &op, NULL);
}
int librados::IoCtxImpl::append(const object_t& oid, bufferlist& bl, size_t len)
bufferlist mybl;
mybl.substr_of(bl, 0, len);
op.append(mybl);
- int r = operate(oid, &op, NULL);
- if (r < 0)
- return r;
-
- return len;
+ return operate(oid, &op, NULL);
}
int librados::IoCtxImpl::write_full(const object_t& oid, bufferlist& bl)
c->is_read = true;
c->io = this;
- c->maxlen = len;
c->bl.clear();
c->bl.push_back(buffer::create_static(len, buf));
:type offset: int
:raises: :class:`TypeError`
- :raises: :class:`IncompleteWriteError`
:raises: :class:`LogicError`
:returns: int - number of bytes written
"""
ret = run_in_thread(self.librados.rados_write,
(self.io, c_char_p(key), c_char_p(data),
c_size_t(length), c_uint64(offset)))
- if ret == length:
+ if ret == 0:
return ret
elif ret < 0:
raise make_ex(ret, "Ioctx.write(%s): failed to write %s" % \
(self.name, key))
- elif ret < length:
- raise IncompleteWriteError("Wrote only %d out of %d bytes" % \
- (ret, length))
else:
raise LogicError("Ioctx.write(%s): rados_write \
-returned %d, but %d was the maximum number of bytes it could have \
-written." % (self.name, ret, length))
+returned %d, but should return zero on success." % (self.name, ret))
def write_full(self, key, data):
"""
c_size_t(length)))
if ret == 0:
return ret
- else:
- raise make_ex(ret, "Ioctx.write(%s): failed to write_full %s" % \
+ elif ret < 0:
+ raise make_ex(ret, "Ioctx.write_full(%s): failed to write %s" % \
(self.name, key))
+ else:
+ raise LogicError("Ioctx.write_full(%s): rados_write_full \
+returned %d, but should return zero on success." % (self.name, ret))
def read(self, key, length=8192, offset=0):
"""
bl.append(bp);
string oid = "foo";
- ASSERT_EQ(4096, ioctx.write(oid, bl, 4096, 0));
+ ASSERT_EQ(0, ioctx.write(oid, bl, 4096, 0));
ASSERT_EQ(0, old_snapshot_add(&ioctx, oid, 1, "test1"));
ASSERT_EQ(0, old_snapshot_add(&ioctx, oid, 3, "test3"));
ASSERT_EQ(-ESTALE, old_snapshot_add(&ioctx, oid, 2, "test2"));
protected:
void write_object() {
// Create an object and write to it
- ASSERT_EQ(len, rados_write(ioctx, obj, data, len, 0));
+ ASSERT_EQ(0, rados_write(ioctx, obj, data, len, 0));
}
void remove_object() {
ASSERT_EQ(0, rados_remove(ioctx, obj));
TEST_F(LibRadosIo, SimpleWrite) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "nspace");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
}
TEST_F(LibRadosIoPP, SimpleWritePP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
ioctx.set_namespace("nspace");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
}
TEST_F(LibRadosIoPP, ReadOpPP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
{
bufferlist op_bl;
char buf[128];
char buf2[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
memset(buf2, 0, sizeof(buf2));
ASSERT_EQ((int)sizeof(buf2), rados_read(ioctx, "foo", buf2, sizeof(buf2), 0));
ASSERT_EQ(0, memcmp(buf, buf2, sizeof(buf)));
TEST_F(LibRadosIoPP, RoundTripPP) {
char buf[128];
- char buf2[128];
Rados cluster;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
bufferlist cl;
- ASSERT_EQ((int)sizeof(buf2), ioctx.read("foo", cl, sizeof(buf), 0));
+ ASSERT_EQ((int)sizeof(buf), ioctx.read("foo", cl, sizeof(buf), 0));
ASSERT_EQ(0, memcmp(buf, cl.c_str(), sizeof(buf)));
}
char buf2[64];
char buf3[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
memset(buf3, 0xdd, sizeof(buf3));
ASSERT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
ASSERT_EQ(0, memcmp(buf3, buf2, sizeof(buf2)));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0));
bufferlist bl3;
ASSERT_EQ((int)sizeof(buf), ioctx.read("foo", bl3, sizeof(buf), 0));
ASSERT_EQ(0, memcmp(bl3.c_str(), buf2, sizeof(buf2)));
char buf2[64];
char buf3[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
ASSERT_EQ(0, rados_write_full(ioctx, "foo", buf2, sizeof(buf2)));
memset(buf3, 0xdd, sizeof(buf3));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
char buf2[64];
char buf3[sizeof(buf) + sizeof(buf2)];
memset(buf, 0xde, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
memset(buf2, 0xad, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), rados_append(ioctx, "foo", buf2, sizeof(buf2)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf2, sizeof(buf2)));
memset(buf3, 0, sizeof(buf3));
ASSERT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
ASSERT_EQ(0, memcmp(buf3, buf, sizeof(buf)));
memset(buf, 0xde, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
memset(buf2, 0xad, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), ioctx.append("foo", bl2, sizeof(buf2)));
+ ASSERT_EQ(0, ioctx.append("foo", bl2, sizeof(buf2)));
bufferlist bl3;
ASSERT_EQ((int)(sizeof(buf) + sizeof(buf2)),
ioctx.read("foo", bl3, (sizeof(buf) + sizeof(buf2)), 0));
char buf[128];
char buf2[sizeof(buf)];
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_trunc(ioctx, "foo", sizeof(buf) / 2));
memset(buf2, 0, sizeof(buf2));
ASSERT_EQ((int)(sizeof(buf)/2), rados_read(ioctx, "foo", buf2, sizeof(buf2), 0));
memset(buf, 0xaa, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl, sizeof(buf)));
ASSERT_EQ(0, ioctx.trunc("foo", sizeof(buf) / 2));
bufferlist bl2;
ASSERT_EQ((int)(sizeof(buf)/2), ioctx.read("foo", bl2, sizeof(buf), 0));
char buf[128];
char buf2[sizeof(buf)];
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_remove(ioctx, "foo"));
memset(buf2, 0, sizeof(buf2));
ASSERT_EQ(-ENOENT, rados_read(ioctx, "foo", buf2, sizeof(buf2), 0));
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
ASSERT_EQ(0, ioctx.remove("foo"));
bufferlist bl2;
ASSERT_EQ(-ENOENT, ioctx.read("foo", bl2, sizeof(buf), 0));
char attr1[] = "attr1";
char attr1_buf[] = "foo bar baz";
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(-ENODATA, rados_getxattr(ioctx, "foo", attr1, buf, sizeof(buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ((int)sizeof(attr1_buf),
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
ASSERT_EQ(-ENODATA, ioctx.getxattr("foo", attr1, bl2));
bufferlist bl3;
char attr1[] = "attr1";
char attr1_buf[] = "foo bar baz";
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0,
rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ(0, rados_rmxattr(ioctx, "foo", attr1));
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
ASSERT_EQ(0, ioctx.setxattr("foo", attr1, bl2));
attr2_buf[j] = j % 0xff;
}
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr2, attr2_buf, sizeof(attr2_buf)));
rados_xattrs_iter_t iter;
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
ASSERT_EQ(0, ioctx.setxattr("foo", attr1, bl2));
TEST_F(LibRadosIoEC, SimpleWrite) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "nspace");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
}
TEST_F(LibRadosIoECPP, SimpleWritePP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
ioctx.set_namespace("nspace");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
}
TEST_F(LibRadosIoECPP, ReadOpPP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
{
bufferlist op_bl;
char buf[128];
char buf2[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
memset(buf2, 0, sizeof(buf2));
ASSERT_EQ((int)sizeof(buf2), rados_read(ioctx, "foo", buf2, sizeof(buf2), 0));
ASSERT_EQ(0, memcmp(buf, buf2, sizeof(buf)));
TEST_F(LibRadosIoECPP, RoundTripPP) {
char buf[128];
- char buf2[128];
Rados cluster;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
bufferlist cl;
- ASSERT_EQ((int)sizeof(buf2), ioctx.read("foo", cl, sizeof(buf), 0));
+ ASSERT_EQ((int)sizeof(buf), ioctx.read("foo", cl, sizeof(buf) * 3, 0));
ASSERT_EQ(0, memcmp(buf, cl.c_str(), sizeof(buf)));
}
char *buf2 = (char *)new char[bsize];
char *buf3 = (char *)new char[dbsize];
memset(buf, 0xcc, dbsize);
- ASSERT_EQ(dbsize, rados_write(ioctx, "foo", buf, dbsize, 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, dbsize, 0));
memset(buf2, 0xdd, sizeof(buf2));
ASSERT_EQ(-EOPNOTSUPP, rados_write(ioctx, "foo", buf2, bsize, 0));
memset(buf3, 0xdd, sizeof(buf3));
memset(buf, 0xcc, dbsize);
bufferlist bl1;
bl1.append(buf, dbsize);
- ASSERT_EQ(dbsize, ioctx.write("foo", bl1, dbsize, 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, dbsize, 0));
memset(buf2, 0xdd, bsize);
bufferlist bl2;
bl2.append(buf2, bsize);
char buf2[64];
char buf3[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
ASSERT_EQ(0, rados_write_full(ioctx, "foo", buf2, sizeof(buf2)));
- memset(buf3, 0xdd, sizeof(buf3));
+ memset(buf3, 0xee, sizeof(buf3));
ASSERT_EQ((int)sizeof(buf2), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
- ASSERT_EQ(0, memcmp(buf2, buf2, sizeof(buf2)));
+ ASSERT_EQ(0, memcmp(buf3, buf2, sizeof(buf2)));
}
TEST_F(LibRadosIoECPP, WriteFullRoundTripPP) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
memset(buf2, 0xdd, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
char *buf2 = (char *)new char[alignment];
char *buf3 = (char *)new char[alignment *2];
memset(buf, 0xde, alignment);
- ASSERT_EQ((int)alignment, rados_append(ioctx, "foo", buf, alignment));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, alignment));
memset(buf2, 0xad, alignment);
- ASSERT_EQ((int)alignment, rados_append(ioctx, "foo", buf2, alignment));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf2, alignment));
memset(buf3, 0, alignment*2);
ASSERT_EQ((int)alignment*2, rados_read(ioctx, "foo", buf3, alignment*2, 0));
ASSERT_EQ(0, memcmp(buf3, buf, alignment));
memset(buf, 0xde, alignment);
bufferlist bl1;
bl1.append(buf, alignment);
- ASSERT_EQ((int)alignment, ioctx.append("foo", bl1, alignment));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, alignment));
memset(buf2, 0xad, alignment);
bufferlist bl2;
bl2.append(buf2, alignment);
- ASSERT_EQ((int)alignment, ioctx.append("foo", bl2, alignment));
+ ASSERT_EQ(0, ioctx.append("foo", bl2, alignment));
bufferlist bl3;
ASSERT_EQ((int)(alignment * 2),
- ioctx.read("foo", bl3, (alignment * 2), 0));
+ ioctx.read("foo", bl3, (alignment * 4), 0));
const char *bl3_str = bl3.c_str();
ASSERT_EQ(0, memcmp(bl3_str, buf, alignment));
ASSERT_EQ(0, memcmp(bl3_str + alignment, buf2, alignment));
char buf[128];
char buf2[sizeof(buf)];
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(-EOPNOTSUPP, rados_trunc(ioctx, "foo", sizeof(buf) / 2));
memset(buf2, 0, sizeof(buf2));
// Same size
memset(buf, 0xaa, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl, sizeof(buf)));
ASSERT_EQ(-EOPNOTSUPP, ioctx.trunc("foo", sizeof(buf) / 2));
bufferlist bl2;
// Same size
char buf[128];
char buf2[sizeof(buf)];
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_remove(ioctx, "foo"));
memset(buf2, 0, sizeof(buf2));
ASSERT_EQ(-ENOENT, rados_read(ioctx, "foo", buf2, sizeof(buf2), 0));
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
ASSERT_EQ(0, ioctx.remove("foo"));
bufferlist bl2;
ASSERT_EQ(-ENOENT, ioctx.read("foo", bl2, sizeof(buf), 0));
char attr1[] = "attr1";
char attr1_buf[] = "foo bar baz";
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(-ENODATA, rados_getxattr(ioctx, "foo", attr1, buf, sizeof(buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ((int)sizeof(attr1_buf),
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
ASSERT_EQ(-ENODATA, ioctx.getxattr("foo", attr1, bl2));
bufferlist bl3;
char attr1[] = "attr1";
char attr1_buf[] = "foo bar baz";
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0,
rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ(0, rados_rmxattr(ioctx, "foo", attr1));
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
ASSERT_EQ(0, ioctx.setxattr("foo", attr1, bl2));
attr2_buf[j] = j % 0xff;
}
memset(buf, 0xaa, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_append(ioctx, "foo", buf, sizeof(buf)));
+ ASSERT_EQ(0, rados_append(ioctx, "foo", buf, sizeof(buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr1, attr1_buf, sizeof(attr1_buf)));
ASSERT_EQ(0, rados_setxattr(ioctx, "foo", attr2, attr2_buf, sizeof(attr2_buf)));
rados_xattrs_iter_t iter;
memset(buf, 0xaa, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.append("foo", bl1, sizeof(buf)));
+ ASSERT_EQ(0, ioctx.append("foo", bl1, sizeof(buf)));
bufferlist bl2;
bl2.append(attr1_buf, sizeof(attr1_buf));
ASSERT_EQ(0, ioctx.setxattr("foo", attr1, bl2));
TEST_F(LibRadosList, ListObjects) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
rados_list_ctx_t ctx;
ASSERT_EQ(0, rados_objects_list_open(ioctx, &ctx));
const char *entry;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
bool foundit = false;
while (iter != ioctx.objects_end()) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
bool foundit = false;
while (iter != ioctx.objects_end()) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
// make sure this is still valid after the original iterators are gone
ObjectIterator iter3;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
ObjectIterator iter_end(ioctx.objects_end());
memset(buf, 0xcc, sizeof(buf));
// Create :foo1, :foo2, :foo3, n1:foo1, ns1:foo4, ns1:foo5, ns2:foo6, n2:foo7
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns1");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo3", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo3", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns1");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo4", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo5", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo4", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo5", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns2");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo6", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo7", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo6", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo7", buf, sizeof(buf), 0));
std::set<std::string> def, ns1, ns2;
def.insert(std::string("foo1"));
bl1.append(buf, sizeof(buf));
// Create :foo1, :foo2, :foo3, n1:foo1, ns1:foo4, ns1:foo5, ns2:foo6, n2:foo7
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo1", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo1", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns1");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo1", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo1", bl1, sizeof(buf), 0));
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo2", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo3", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo2", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo3", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns1");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo4", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo5", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo4", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo5", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns2");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo6", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo7", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo6", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo7", bl1, sizeof(buf), 0));
std::set<std::string> def, ns1, ns2;
def.insert(std::string("foo1"));
bl.append(buf, sizeof(buf));
for (int i=0; i<256; ++i) {
- ASSERT_EQ((int)sizeof(buf), ioctx.write(stringify(i), bl, bl.length(), 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, bl.length(), 0));
}
librados::ObjectIterator it = ioctx.objects_begin();
for (int i=0; i<16; ++i) {
string n = stringify(i);
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, n.c_str(), buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, n.c_str(), buf, sizeof(buf), 0));
}
rados_list_ctx_t ctx;
bl.append(buf, sizeof(buf));
for (int i=0; i<16; ++i) {
- ASSERT_EQ((int)sizeof(buf), ioctx.write(stringify(i), bl, bl.length(), 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, bl.length(), 0));
}
librados::ObjectIterator it = ioctx.objects_begin();
TEST_F(LibRadosListEC, ListObjects) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
rados_list_ctx_t ctx;
ASSERT_EQ(0, rados_objects_list_open(ioctx, &ctx));
const char *entry;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
bool foundit = false;
while (iter != ioctx.objects_end()) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
bool foundit = false;
while (iter != ioctx.objects_end()) {
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
// make sure this is still valid after the original iterators are gone
ObjectIterator iter3;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ObjectIterator iter(ioctx.objects_begin());
ObjectIterator iter_end(ioctx.objects_end());
memset(buf, 0xcc, sizeof(buf));
// Create :foo1, :foo2, :foo3, n1:foo1, ns1:foo4, ns1:foo5, ns2:foo6, n2:foo7
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns1");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo1", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo3", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo3", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns1");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo4", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo5", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo4", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo5", buf, sizeof(buf), 0));
rados_ioctx_set_namespace(ioctx, "ns2");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo6", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo7", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo6", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo7", buf, sizeof(buf), 0));
std::set<std::string> def, ns1, ns2;
def.insert(std::string("foo1"));
bl1.append(buf, sizeof(buf));
// Create :foo1, :foo2, :foo3, n1:foo1, ns1:foo4, ns1:foo5, ns2:foo6, n2:foo7
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo1", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo1", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns1");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo1", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo1", bl1, sizeof(buf), 0));
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo2", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo3", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo2", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo3", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns1");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo4", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo5", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo4", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo5", bl1, sizeof(buf), 0));
ioctx.set_namespace("ns2");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo6", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo7", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo6", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo7", bl1, sizeof(buf), 0));
std::set<std::string> def, ns1, ns2;
def.insert(std::string("foo1"));
bl.append(buf, sizeof(buf));
for (int i=0; i<256; ++i) {
- ASSERT_EQ((int)sizeof(buf), ioctx.write(stringify(i), bl, bl.length(), 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, bl.length(), 0));
}
librados::ObjectIterator it = ioctx.objects_begin();
for (int i=0; i<16; ++i) {
string n = stringify(i);
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, n.c_str(), buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, n.c_str(), buf, sizeof(buf), 0));
}
rados_list_ctx_t ctx;
bl.append(buf, sizeof(buf));
for (int i=0; i<16; ++i) {
- ASSERT_EQ((int)sizeof(buf), ioctx.write(stringify(i), bl, bl.length(), 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, bl.length(), 0));
}
librados::ObjectIterator it = ioctx.objects_begin();
TEST_F(LibRadosMisc, Exec) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
char buf2[512];
int res = rados_exec(ioctx, "foo", "rbd", "get_all_features",
NULL, 0, buf2, sizeof(buf2));
TEST_F(LibRadosMiscPP, BigObjectPP) {
bufferlist bl;
bl.append("abcdefg");
- ASSERT_EQ((int)bl.length(), ioctx.write("foo", bl, bl.length(), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, bl.length(), 0));
{
ObjectWriteOperation o;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ(sizeof(buf), (size_t)ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, (size_t)ioctx.write("foo", bl, sizeof(buf), 0));
ioctx.locator_set_key("foo");
ASSERT_EQ(0, ioctx.clone_range("bar", 0, "foo", 0, sizeof(buf)));
bufferlist bl2;
TEST_F(LibRadosMisc, CloneRange) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "src", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "src", buf, sizeof(buf), 0));
rados_ioctx_locator_set_key(ioctx, "src");
ASSERT_EQ(0, rados_clone_range(ioctx, "dst", 0, "src", 0, sizeof(buf)));
char buf2[sizeof(buf)];
TEST_F(LibRadosSnapshots, SnapList) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
rados_snap_t snaps[10];
EXPECT_EQ(1, rados_ioctx_snap_list(ioctx, snaps,
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
std::vector<snap_t> snaps;
EXPECT_EQ(0, ioctx.snap_list(&snaps));
TEST_F(LibRadosSnapshots, SnapRemove) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
rados_snap_t rid;
ASSERT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snap1", &rid));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
rados_snap_t rid;
ASSERT_EQ(0, ioctx.snap_lookup("snap1", &rid));
TEST_F(LibRadosSnapshots, Rollback) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
TEST_F(LibRadosSnapshots, SnapGetName) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snapfoo"));
rados_snap_t rid;
EXPECT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snapfoo", &rid));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snapfoo"));
rados_snap_t rid;
EXPECT_EQ(0, ioctx.snap_lookup("snapfoo", &rid));
::std::reverse(my_snaps.begin(), my_snaps.end());
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &my_snaps.back()));
::std::reverse(my_snaps.begin(), my_snaps.end());
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
rados_ioctx_snap_set_read(ioctx, my_snaps[1]-1);
char buf3[sizeof(buf)];
ASSERT_EQ(-ENOENT, rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
::std::reverse(my_snaps.begin(), my_snaps.end());
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &my_snaps.back()));
::std::reverse(my_snaps.begin(), my_snaps.end());
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
rados_ioctx_selfmanaged_snap_rollback(ioctx, "foo", my_snaps[1]);
char buf3[sizeof(buf)];
ASSERT_EQ((int)sizeof(buf3), rados_read(ioctx, "foo", buf3, sizeof(buf3), 0));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, ioctx.selfmanaged_snap_create(&my_snaps.back()));
memset(buf2, 0xdd, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0));
ioctx.snap_set_read(my_snaps[1]);
bufferlist bl3;
bufferlist bl1;
bl1.append(buf, sizeof(buf));
//Write 3 consecutive buffers
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize*2));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize*2));
snap_set_t ss;
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
//Change the middle buffer
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize));
//Add another after
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*3));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*3));
ASSERT_EQ(-EINVAL, ioctx.list_snaps("foo", &ss));
ObjectReadOperation o;
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize*2));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize*4));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize*6));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), bufsize*8));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize*2));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize*4));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize*6));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), bufsize*8));
snap_set_t ss;
snap_t head = SNAP_HEAD;
memset(buf2, 0xdd, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*1));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*3));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*5));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*7));
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize*9));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*1));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*3));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*5));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*7));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize*9));
ASSERT_EQ(0, readioctx.list_snaps("foo", &ss));
ASSERT_EQ(2u, ss.clones.size());
memset(buf3, 0xee, sizeof(buf3));
bufferlist bl4;
bl4.append(buf3, sizeof(buf3));
- ASSERT_EQ((int)sizeof(buf3), ioctx.write("foo", bl2, sizeof(buf3), bufsize*1));
- ASSERT_EQ((int)sizeof(buf3), ioctx.write("foo", bl2, sizeof(buf3), bufsize*4));
- ASSERT_EQ((int)sizeof(buf3), ioctx.write("foo", bl2, sizeof(buf3), bufsize*5));
- ASSERT_EQ((int)sizeof(buf3), ioctx.write("foo", bl2, sizeof(buf3), bufsize*8));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf3), bufsize*1));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf3), bufsize*4));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf3), bufsize*5));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf3), bufsize*8));
ASSERT_EQ(0, readioctx.list_snaps("foo", &ss));
ASSERT_EQ(3u, ss.clones.size());
TEST_F(LibRadosSnapshotsEC, SnapList) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
rados_snap_t snaps[10];
EXPECT_EQ(1, rados_ioctx_snap_list(ioctx, snaps,
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
std::vector<snap_t> snaps;
EXPECT_EQ(0, ioctx.snap_list(&snaps));
TEST_F(LibRadosSnapshotsEC, SnapRemove) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
rados_snap_t rid;
ASSERT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snap1", &rid));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
rados_snap_t rid;
ASSERT_EQ(0, ioctx.snap_lookup("snap1", &rid));
TEST_F(LibRadosSnapshotsEC, Rollback) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snap1"));
char buf2[sizeof(buf)];
memset(buf2, 0xdd, sizeof(buf2));
TEST_F(LibRadosSnapshotsEC, SnapGetName) {
char buf[bufsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snapfoo"));
rados_snap_t rid;
EXPECT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snapfoo", &rid));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.snap_create("snapfoo"));
rados_snap_t rid;
EXPECT_EQ(0, ioctx.snap_lookup("snapfoo", &rid));
int bsize = alignment;
char *buf = (char *)new char[bsize];
memset(buf, 0xcc, bsize);
- ASSERT_EQ(bsize, rados_write(ioctx, "foo", buf, bsize, 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, bsize, 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &my_snaps.back()));
::std::reverse(my_snaps.begin(), my_snaps.end());
char *buf2 = (char *)new char[bsize];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(bsize, rados_write(ioctx, "foo", buf2, bsize, bsize));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, bsize, bsize));
rados_ioctx_snap_set_read(ioctx, my_snaps[1]-1);
char *buf3 = (char *)new char[bsize*2];
ASSERT_EQ(-ENOENT, rados_read(ioctx, "foo", buf3, bsize*2, 0));
int bsize = alignment;
char *buf = (char *)new char[bsize];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ(bsize, rados_write(ioctx, "foo", buf, bsize, 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, bsize, 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, rados_ioctx_selfmanaged_snap_create(ioctx, &my_snaps.back()));
char *buf2 = (char *)new char[bsize];
memset(buf2, 0xdd, sizeof(buf2));
- ASSERT_EQ(bsize, rados_write(ioctx, "foo", buf2, bsize, bsize));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, bsize, bsize));
rados_ioctx_selfmanaged_snap_rollback(ioctx, "foo", my_snaps[1]);
char *buf3 = (char *)new char[bsize*2];
ASSERT_EQ(bsize, rados_read(ioctx, "foo", buf3, bsize*2, 0));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, bsize);
- ASSERT_EQ(bsize, ioctx.write("foo", bl1, bsize, 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, bsize, 0));
my_snaps.push_back(-2);
ASSERT_EQ(0, ioctx.selfmanaged_snap_create(&my_snaps.back()));
bufferlist bl2;
bl2.append(buf2, bsize);
// Add another aligned buffer
- ASSERT_EQ(bsize, ioctx.write("foo", bl2, bsize, bsize));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, bsize, bsize));
ioctx.snap_set_read(my_snaps[1]);
bufferlist bl3;
bufferlist bl1;
bl1.append(buf, bsize);
//Write 3 consecutive buffers
- ASSERT_EQ(bsize, ioctx.write("foo", bl1, bsize, 0));
- ASSERT_EQ(bsize, ioctx.write("foo", bl1, bsize, bsize));
- ASSERT_EQ(bsize, ioctx.write("foo", bl1, bsize, bsize*2));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, bsize, 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, bsize, bsize));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, bsize, bsize*2));
snap_set_t ss;
bufferlist bl2;
bl2.append(buf2, bsize);
//Change the middle buffer
- //ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), bufsize));
+ //ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), bufsize));
//Add another after
- ASSERT_EQ(bsize, ioctx.write("foo", bl2, bsize, bsize*3));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, bsize, bsize*3));
ASSERT_EQ(-EINVAL, ioctx.list_snaps("foo", &ss));
ObjectReadOperation o;
TEST_F(LibRadosStat, Stat) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
char buf2[64];
memset(buf2, 0xcc, sizeof(buf2));
rados_ioctx_set_namespace(ioctx, "nspace");
- ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
uint64_t size;
time_t mtime;
bufferlist bl;
bl.append(buf, sizeof(buf));
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo2", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo2", bl, sizeof(buf), 0));
char buf2[64];
memset(buf2, 0xbb, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
ioctx.set_namespace("nspace");
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(strlen(actual_pool_name), l);
ASSERT_EQ(0, strcmp(actual_pool_name, pool_name.c_str()));
memset(buf, 0xff, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
struct rados_pool_stat_t stats;
memset(&stats, 0, sizeof(stats));
ASSERT_EQ(0, rados_ioctx_pool_stat(ioctx, &stats));
memset(buf, 0xff, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
std::list<std::string> v;
std::map<std::string,stats_map> stats;
ASSERT_EQ(0, cluster.get_pool_stats(v, stats));
TEST_F(LibRadosStatEC, Stat) {
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl;
bl.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
rados_ioctx_set_namespace(ioctx, "");
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0));
char buf2[64];
memset(buf2, 0xcc, sizeof(buf2));
rados_ioctx_set_namespace(ioctx, "nspace");
- ASSERT_EQ((int)sizeof(buf2), rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0));
uint64_t size;
time_t mtime;
bufferlist bl;
bl.append(buf, sizeof(buf));
ioctx.set_namespace("");
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl, sizeof(buf), 0));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo2", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo2", bl, sizeof(buf), 0));
char buf2[64];
memset(buf2, 0xbb, sizeof(buf2));
bufferlist bl2;
bl2.append(buf2, sizeof(buf2));
ioctx.set_namespace("nspace");
- ASSERT_EQ((int)sizeof(buf2), ioctx.write("foo", bl2, sizeof(buf2), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0));
uint64_t size;
time_t mtime;
ASSERT_EQ(strlen(actual_pool_name), l);
ASSERT_EQ(0, strcmp(actual_pool_name, pool_name.c_str()));
memset(buf, 0xff, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
struct rados_pool_stat_t stats;
memset(&stats, 0, sizeof(stats));
ASSERT_EQ(0, rados_ioctx_pool_stat(ioctx, &stats));
memset(buf, 0xff, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
std::list<std::string> v;
std::map<std::string,stats_map> stats;
ASSERT_EQ(0, cluster.get_pool_stats(v, stats));
for (int i=0; i<1000; ++i) {
bufferlist bl;
bl.append("a");
- ASSERT_EQ(1, ioctx.write(stringify(i), bl, 1, 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, 1, 0));
}
// get HitSets
bufferlist bl;
bl.append("f");
- ASSERT_EQ(1, ioctx.write("foo", bl, 1, 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl, 1, 0));
list<pair<time_t, time_t> > ls;
AioCompletion *c = librados::Rados::aio_create_completion();
for (int i=0; i<1000; ++i) {
bufferlist bl;
bl.append("a");
- ASSERT_EQ(1, ioctx.write(stringify(i), bl, 1, 0));
+ ASSERT_EQ(0, ioctx.write(stringify(i), bl, 1, 0));
}
// get HitSets
bufferlist bl;
bl.append(buf, bsize);
- ASSERT_EQ(bsize, ioctx.append("foo", bl, bsize));
+ ASSERT_EQ(0, ioctx.append("foo", bl, bsize));
list<pair<time_t, time_t> > ls;
AioCompletion *c = librados::Rados::aio_create_completion();
ASSERT_EQ(0, sem_init(&sem, 0, 0));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
uint64_t handle;
ASSERT_EQ(0,
rados_watch(ioctx, "foo", 0, &handle, watch_notify_test_cb, NULL));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
uint64_t handle;
WatchNotifyTestCtx ctx;
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
sem_destroy(&sem);
ASSERT_EQ(0, sem_init(&sem, 0, 0));
char buf[128];
memset(buf, 0xcc, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
+ ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0));
uint64_t handle;
ASSERT_EQ(0,
rados_watch(ioctx, "foo", 0, &handle, watch_notify_test_cb, NULL));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
uint64_t handle;
WatchNotifyTestCtx ctx;
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
memset(buf, 0xcc, sizeof(buf));
bufferlist bl1;
bl1.append(buf, sizeof(buf));
- ASSERT_EQ((int)sizeof(buf), ioctx.write("foo", bl1, sizeof(buf), 0));
+ ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0));
ASSERT_EQ(0, ioctx.watch("foo", 0, &handle, &ctx));
sem_destroy(&sem);
while count[0] < 4:
lock.wait()
eq(comp.get_return_value(), 0)
+ eq(comp2.get_return_value(), 0)
[i.remove() for i in self.ioctx.list_objects()]
def test_aio_write_full(self):
std::string buf(StRadosCreatePool::get_random_buf(256));
int ret = rados_write(io_ctx, oid.c_str(), buf.c_str(), buf.size(), 0);
- if (ret != (int)buf.size()) {
+ if (ret != 0) {
printf("%s: rados_write(%s) failed with error %d\n",
get_id_str(), oid.c_str(), ret);
return ret;
snprintf(oid, sizeof(oid), "%d%s", i, m_suffix.c_str());
std::string buf(get_random_buf(256));
int ret = rados_write(io_ctx, oid, buf.c_str(), buf.size(), 0);
- if (ret < static_cast<int>(buf.size())) {
+ if (ret != 0) {
printf("%s: rados_write error %d\n", get_id_str(), ret);
return ret;
}