summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-03-15 13:16:41 -0700
committerSage Weil <sage@newdream.net>2011-03-15 13:16:41 -0700
commitd93c1184234bd2844b257dabac48e8950f1375b4 (patch)
treea0619301574f18a5ef7bf3d34f8db2fb99b8a999
parentca613786f84d44f352fa4fee4ebd57f4b1ec4cdd (diff)
downloadceph-d93c1184234bd2844b257dabac48e8950f1375b4.tar.gz
librbd: ssize_t return values for read, write
size_t is 32bits on 64bit archs. Use ssize_t (long) for return values. Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
-rw-r--r--src/include/rbd/librbd.h6
-rw-r--r--src/include/rbd/librbd.hpp6
-rw-r--r--src/librbd.cc30
-rw-r--r--src/rbd.cc2
4 files changed, 22 insertions, 22 deletions
diff --git a/src/include/rbd/librbd.h b/src/include/rbd/librbd.h
index 8bc52b5e745..71858b87689 100644
--- a/src/include/rbd/librbd.h
+++ b/src/include/rbd/librbd.h
@@ -81,15 +81,15 @@ int rbd_snap_set(rbd_image_t image, const char *snapname);
/* I/O */
typedef void *rbd_completion_t;
typedef void (*rbd_callback_t)(rbd_completion_t cb, void *arg);
-int rbd_read(rbd_image_t image, uint64_t ofs, size_t len, char *buf);
+ssize_t rbd_read(rbd_image_t image, uint64_t ofs, size_t len, char *buf);
int64_t rbd_read_iterate(rbd_image_t image, uint64_t ofs, size_t len,
int (*cb)(uint64_t, size_t, const char *, void *), void *arg);
-int rbd_write(rbd_image_t image, uint64_t ofs, size_t len, const char *buf);
+ssize_t rbd_write(rbd_image_t image, uint64_t ofs, size_t len, const char *buf);
int rbd_aio_write(rbd_image_t image, uint64_t off, size_t len, const char *buf, rbd_completion_t c);
int rbd_aio_read(rbd_image_t image, uint64_t off, size_t len, char *buf, rbd_completion_t c);
int rbd_aio_create_completion(void *cb_arg, rbd_callback_t complete_cb, rbd_completion_t *c);
int rbd_aio_wait_for_complete(rbd_completion_t c);
-int rbd_aio_get_return_value(rbd_completion_t c);
+ssize_t rbd_aio_get_return_value(rbd_completion_t c);
void rbd_aio_release(rbd_completion_t c);
#ifdef __cplusplus
diff --git a/src/include/rbd/librbd.hpp b/src/include/rbd/librbd.hpp
index 79629da4543..74d7728b8dd 100644
--- a/src/include/rbd/librbd.hpp
+++ b/src/include/rbd/librbd.hpp
@@ -51,7 +51,7 @@ public:
void *pc;
AioCompletion(void *cb_arg, callback_t complete_cb);
int wait_for_complete();
- int get_return_value();
+ ssize_t get_return_value();
void release();
};
@@ -88,10 +88,10 @@ public:
int snap_set(const char *snap_name);
/* I/O */
- int read(uint64_t ofs, size_t len, ceph::bufferlist& bl);
+ ssize_t read(uint64_t ofs, size_t len, ceph::bufferlist& bl);
int64_t read_iterate(uint64_t ofs, size_t len,
int (*cb)(uint64_t, size_t, const char *, void *), void *arg);
- int write(uint64_t ofs, size_t len, ceph::bufferlist& bl);
+ ssize_t write(uint64_t ofs, size_t len, ceph::bufferlist& bl);
int aio_write(uint64_t off, size_t len, ceph::bufferlist& bl, RBD::AioCompletion *c);
int aio_read(uint64_t off, size_t len, ceph::bufferlist& bl, RBD::AioCompletion *c);
diff --git a/src/librbd.cc b/src/librbd.cc
index 7c47c45c15f..a6de668182e 100644
--- a/src/librbd.cc
+++ b/src/librbd.cc
@@ -133,7 +133,7 @@ namespace librbd {
Mutex lock;
Cond cond;
bool done;
- int rval;
+ ssize_t rval;
callback_t complete_cb;
void *complete_arg;
rbd_completion_t rbd_comp;
@@ -171,9 +171,9 @@ namespace librbd {
void complete_block(AioBlockCompletion *block_completion, int r);
- int get_return_value() {
+ ssize_t get_return_value() {
lock.Lock();
- int r = rval;
+ ssize_t r = rval;
lock.Unlock();
return r;
}
@@ -251,8 +251,8 @@ namespace librbd {
int64_t read_iterate(ImageCtx *ictx, uint64_t off, size_t len,
int (*cb)(uint64_t, size_t, const char *, void *),
void *arg);
- int read(ImageCtx *ictx, uint64_t off, size_t len, char *buf);
- int write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf);
+ ssize_t read(ImageCtx *ictx, uint64_t off, size_t len, char *buf);
+ ssize_t write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf);
int aio_write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf,
AioCompletion *c);
int aio_read(ImageCtx *ictx, uint64_t off, size_t len,
@@ -1097,12 +1097,12 @@ static int simple_read_cb(uint64_t ofs, size_t len, const char *buf, void *arg)
}
-int read(ImageCtx *ictx, uint64_t ofs, size_t len, char *buf)
+ssize_t read(ImageCtx *ictx, uint64_t ofs, size_t len, char *buf)
{
return read_iterate(ictx, ofs, len, simple_read_cb, buf);
}
-int write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf)
+ssize_t write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf)
{
if (!len)
return 0;
@@ -1111,7 +1111,7 @@ int write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf)
if (r < 0)
return r;
- int total_write = 0;
+ size_t total_write = 0;
uint64_t start_block = get_block_num(&ictx->header, off);
uint64_t end_block = get_block_num(&ictx->header, off + len - 1);
uint64_t block_size = get_block_size(&ictx->header);
@@ -1218,7 +1218,7 @@ int aio_write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf,
if (r < 0)
return r;
- int total_write = 0;
+ size_t total_write = 0;
uint64_t start_block = get_block_num(&ictx->header, off);
uint64_t end_block = get_block_num(&ictx->header, off + len - 1);
uint64_t block_size = get_block_size(&ictx->header);
@@ -1382,7 +1382,7 @@ int RBD::AioCompletion::wait_for_complete()
return c->wait_for_complete();
}
-int RBD::AioCompletion::get_return_value()
+ssize_t RBD::AioCompletion::get_return_value()
{
librbd::AioCompletion *c = (librbd::AioCompletion *)pc;
return c->get_return_value();
@@ -1458,7 +1458,7 @@ int Image::snap_set(const char *snap_name)
return librbd::snap_set(ictx, snap_name);
}
-int Image::read(uint64_t ofs, size_t len, bufferlist& bl)
+ssize_t Image::read(uint64_t ofs, size_t len, bufferlist& bl)
{
ImageCtx *ictx = (ImageCtx *)ctx;
bufferptr ptr(len);
@@ -1473,7 +1473,7 @@ int64_t Image::read_iterate(uint64_t ofs, size_t len,
return librbd::read_iterate(ictx, ofs, len, cb, arg);
}
-int Image::write(uint64_t ofs, size_t len, bufferlist& bl)
+ssize_t Image::write(uint64_t ofs, size_t len, bufferlist& bl)
{
ImageCtx *ictx = (ImageCtx *)ctx;
if (bl.length() < len)
@@ -1671,7 +1671,7 @@ extern "C" int rbd_snap_set(rbd_image_t image, const char *snapname)
}
/* I/O */
-extern "C" int rbd_read(rbd_image_t image, uint64_t ofs, size_t len, char *buf)
+extern "C" ssize_t rbd_read(rbd_image_t image, uint64_t ofs, size_t len, char *buf)
{
librbd::ImageCtx *ictx = (librbd::ImageCtx *)image;
return librbd::read(ictx, ofs, len, buf);
@@ -1684,7 +1684,7 @@ extern "C" int64_t rbd_read_iterate(rbd_image_t image, uint64_t ofs, size_t len,
return librbd::read_iterate(ictx, ofs, len, cb, arg);
}
-extern "C" int rbd_write(rbd_image_t image, uint64_t ofs, size_t len, const char *buf)
+extern "C" ssize_t rbd_write(rbd_image_t image, uint64_t ofs, size_t len, const char *buf)
{
librbd::ImageCtx *ictx = (librbd::ImageCtx *)image;
return librbd::write(ictx, ofs, len, buf);
@@ -1717,7 +1717,7 @@ extern "C" int rbd_aio_wait_for_complete(rbd_completion_t c)
return comp->wait_for_complete();
}
-extern "C" int rbd_aio_get_return_value(rbd_completion_t c)
+extern "C" ssize_t rbd_aio_get_return_value(rbd_completion_t c)
{
librbd::RBD::AioCompletion *comp = (librbd::RBD::AioCompletion *)c;
return comp->get_return_value();
diff --git a/src/rbd.cc b/src/rbd.cc
index 0580759a5bc..89a06064415 100644
--- a/src/rbd.cc
+++ b/src/rbd.cc
@@ -200,7 +200,7 @@ static int do_rollback_snap(librbd::Image& image, const char *snapname)
static int export_read_cb(uint64_t ofs, size_t len, const char *buf, void *arg)
{
- int ret;
+ ssize_t ret;
int fd = *(int *)arg;
if (!buf) /* a hole */