]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge branch 'stable'
authorSage Weil <sage.weil@dreamhost.com>
Mon, 14 Mar 2011 20:22:16 +0000 (13:22 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Mon, 14 Mar 2011 20:22:16 +0000 (13:22 -0700)
Conflicts:
src/include/rados/librados.h
src/include/rados/librados.hpp
src/librados.cc

1  2 
debian/control
src/include/rados/librados.h
src/include/rados/librados.hpp
src/librados.cc
src/librbd.cc
src/rados.cc
src/rbd.cc

diff --cc debian/control
index 9da4896c316deefd89116636c29d3ac0c48ceee9,fa722523f34d7423ec28f9893b2b1e844f8e1ba0..7cb169cba8822abde83910b4063f27b8d1576602
@@@ -118,9 -117,11 +118,11 @@@ Description: debugging symbols for libc
   This package contains debugging symbols for libcrush.
  
  Package: libcrush-dev
 -Architecture: any
 +Architecture: i386 amd64
  Section: libdevel
  Depends: ${shlibs:Depends}, ${misc:Depends}, libcrush1 (= ${binary:Version})
+ Conflicts: libcrush1-dev
+ Replaces: libcrush1-dev
  Description: CRUSH mapping algorithm (development files)
   CRUSH is a pseudo-random hash-like algorithm for mapping inputs to
   a changing hierarchy of devices without a centralized directory.  It was
@@@ -161,9 -161,11 +163,11 @@@ Description: debugging symbols for libr
   This package contains debugging symbols for librados.
  
  Package: librados-dev
 -Architecture: any
 +Architecture: i386 amd64
  Section: libdevel
  Depends: ${shlibs:Depends}, ${misc:Depends}, librados2 (= ${binary:Version})
+ Conflicts: librados1-dev, librados2-dev
+ Replaces: librados1-dev, librados2-dev
  Description: RADOS distributed object store client library (development files)
   RADOS is a reliable, autonomic distributed object storage cluster
   developed as part of the Ceph distributed storage system.  This is a
@@@ -197,9 -198,11 +201,11 @@@ Description: debugging symbols for libr
   This package contains debugging symbols for librbd1.
  
  Package: librbd-dev
 -Architecture: any
 +Architecture: i386 amd64
  Section: libdevel
  Depends: ${shlibs:Depends}, ${misc:Depends}, librbd1 (= ${binary:Version})
+ Conflicts: librbd1-dev
+ Replaces: librbd1-dev
  Description: RADOS block device client library (development files)
   RBD is a block device striped across multiple distributed objects
   in RADOS, a reliable, autonomic distributed object storage cluster
@@@ -235,9 -237,11 +241,11 @@@ Description: debugging symbols for libc
   This package contains debugging symbols for libceph1.
  
  Package: libceph-dev
 -Architecture: any
 +Architecture: i386 amd64
  Section: libdevel
  Depends: ${shlibs:Depends}, ${misc:Depends}, libceph1 (= ${binary:Version})
+ Conflicts: libceph1-dev
+ Replaces: libceph1-dev
  Description: Ceph distributed file system client library (development files)
   Ceph is a distributed network file system designed to provide
   excellent performance, reliability, and scalability.  This is a
index 00e4e7cc86428aa640c27c7bc2a9af179d1d98eb,e30189ae28e23f69d77bf967a8daf01551a498c4..1b3cd19decfae055ac8e73c40bfe1cf9bf966ffc
@@@ -136,12 -140,11 +140,12 @@@ int rados_ioctx_snap_get_stamp(rados_io
  /* sync io */
  uint64_t rados_get_last_version(rados_ioctx_t io);
  
- int rados_write(rados_ioctx_t io, const char *oid, const char *buf, size_t len, off_t off);
+ int rados_write(rados_ioctx_t io, const char *oid, const char *buf, size_t len, uint64_t off);
+ int rados_write_full(rados_ioctx_t io, const char *oid, const char *buf, size_t len, uint64_t off);
 +int rados_append(rados_ioctx_t io, const char *oid, const char *buf, size_t len);
- int rados_write_full(rados_ioctx_t io, const char *oid, const char *buf, size_t len, off_t off);
- int rados_read(rados_ioctx_t io, const char *oid, char *buf, size_t len, off_t off);
+ int rados_read(rados_ioctx_t io, const char *oid, char *buf, size_t len, uint64_t off);
  int rados_remove(rados_ioctx_t io, const char *oid);
- int rados_trunc(rados_ioctx_t io, const char *oid, size_t size);
+ int rados_trunc(rados_ioctx_t io, const char *oid, uint64_t size);
  
  /* attrs */
  int rados_getxattr(rados_ioctx_t io, const char *o, const char *name, char *buf, size_t len);
@@@ -169,10 -172,7 +173,10 @@@ uint64_t rados_aio_get_obj_ver(rados_co
  void rados_aio_release(rados_completion_t c);
  int rados_aio_write(rados_ioctx_t io, const char *oid,
                    rados_completion_t completion,
-                   const char *buf, size_t len, off_t off);
+                   const char *buf, size_t len, uint64_t off);
 +int rados_aio_append(rados_ioctx_t io, const char *oid,
 +                   rados_completion_t completion,
 +                   const char *buf, size_t len);
  int rados_aio_write_full(rados_ioctx_t io, const char *oid,
                         rados_completion_t completion,
                         const char *buf, size_t len);
index 00aa1ed3217f03408361d7c6311a51234af811a9,c7a650ced67159ded41882273e077d07157f1c3d..faf1d0c31c1c00f0a20bdd58bce578058ea08cd4
@@@ -118,14 -117,13 +118,14 @@@ namespace librado
      // create an object
      int create(const std::string& oid, bool exclusive);
  
-     int write(const std::string& oid, bufferlist& bl, size_t len, off_t off);
+     int write(const std::string& oid, bufferlist& bl, size_t len, uint64_t off);
 +    int append(const std::string& oid, bufferlist& bl, size_t len);
      int write_full(const std::string& oid, bufferlist& bl);
-     int read(const std::string& oid, bufferlist& bl, size_t len, off_t off);
+     int read(const std::string& oid, bufferlist& bl, size_t len, uint64_t off);
      int remove(const std::string& oid);
-     int trunc(const std::string& oid, size_t size);
-     int mapext(const std::string& o, off_t off, size_t len, std::map<off_t, size_t>& m);
-     int sparse_read(const std::string& o, std::map<off_t, size_t>& m, bufferlist& bl, size_t len, off_t off);
+     int trunc(const std::string& oid, uint64_t size);
+     int mapext(const std::string& o, uint64_t off, size_t len, std::map<uint64_t,uint64_t>& m);
+     int sparse_read(const std::string& o, std::map<uint64_t, size_t>& m, bufferlist& bl, size_t len, uint64_t off);
      int getxattr(const std::string& oid, const char *name, bufferlist& bl);
      int getxattrs(const std::string& oid, std::map<std::string, bufferlist>& attrset);
      int setxattr(const std::string& oid, const char *name, bufferlist& bl);
      uint64_t get_last_version();
  
      int aio_read(const std::string& oid, AioCompletion *c,
-                bufferlist *pbl, size_t len, off_t off);
+                bufferlist *pbl, size_t len, uint64_t off);
      int aio_sparse_read(const std::string& oid, AioCompletion *c,
-                       std::map<off_t,size_t> *m, bufferlist *data_bl,
-                       size_t len, off_t off);
+                       std::map<uint64_t,uint64_t> *m, bufferlist *data_bl,
+                       size_t len, uint64_t off);
      int aio_write(const std::string& oid, AioCompletion *c, const bufferlist& bl,
-                 size_t len, off_t off);
+                 size_t len, uint64_t off);
 +    int aio_append(const std::string& oid, AioCompletion *c, const bufferlist& bl,
 +                size_t len);
      int aio_write_full(const std::string& oid, AioCompletion *c, const bufferlist& bl);
  
      // watch/notify
diff --cc src/librados.cc
index 9f5d68e1dd1986dad0464e67e6a0d175d0e1f7af,7fafe45da58de75202c20c93e0cbd9f916ef2d2d..b4ceedfceb1dcb92eb70b04501ed99527a32e598
@@@ -307,16 -303,15 +307,16 @@@ public
  
    // io
    int create(IoCtxImpl& io, const object_t& oid, bool exclusive);
-   int write(IoCtxImpl& io, const object_t& oid, bufferlist& bl, size_t len, off_t off);
+   int write(IoCtxImpl& io, const object_t& oid, bufferlist& bl, size_t len, uint64_t off);
 +  int append(IoCtxImpl& io, const object_t& oid, bufferlist& bl, size_t len);
    int write_full(IoCtxImpl& io, const object_t& oid, bufferlist& bl);
-   int read(IoCtxImpl& io, const object_t& oid, bufferlist& bl, size_t len, off_t off);
-   int mapext(IoCtxImpl& io, const object_t& oid, off_t off, size_t len, std::map<off_t,size_t>& m);
-   int sparse_read(IoCtxImpl& io, const object_t& oid, std::map<off_t,size_t>& m, bufferlist& bl,
-                 size_t len, off_t off);
+   int read(IoCtxImpl& io, const object_t& oid, bufferlist& bl, size_t len, uint64_t off);
+   int mapext(IoCtxImpl& io, const object_t& oid, uint64_t off, size_t len, std::map<uint64_t,uint64_t>& m);
+   int sparse_read(IoCtxImpl& io, const object_t& oid, std::map<uint64_t,uint64_t>& m, bufferlist& bl,
+                 size_t len, uint64_t off);
    int remove(IoCtxImpl& io, const object_t& oid);
    int stat(IoCtxImpl& io, const object_t& oid, uint64_t *psize, time_t *pmtime);
-   int trunc(IoCtxImpl& io, const object_t& oid, size_t size);
+   int trunc(IoCtxImpl& io, const object_t& oid, uint64_t size);
  
    int tmap_update(IoCtxImpl& io, const object_t& oid, bufferlist& cmdbl);
    int exec(IoCtxImpl& io, const object_t& oid, const char *cls, const char *method, bufferlist& inbl, bufferlist& outbl);
    };
  
    int aio_read(IoCtxImpl& io, const object_t oid, AioCompletionImpl *c,
-                         bufferlist *pbl, size_t len, off_t off);
+                         bufferlist *pbl, size_t len, uint64_t off);
    int aio_read(IoCtxImpl& io, object_t oid, AioCompletionImpl *c,
-              char *buf, size_t len, off_t off);
+              char *buf, size_t len, uint64_t off);
    int aio_sparse_read(IoCtxImpl& io, const object_t oid,
-                   AioCompletionImpl *c, std::map<off_t,size_t> *m,
-                   bufferlist *data_bl, size_t len, off_t off);
+                   AioCompletionImpl *c, std::map<uint64_t,uint64_t> *m,
+                   bufferlist *data_bl, size_t len, uint64_t off);
    int aio_write(IoCtxImpl& io, const object_t &oid, AioCompletionImpl *c,
-               const bufferlist& bl, size_t len, off_t off);
+               const bufferlist& bl, size_t len, uint64_t off);
 +  int aio_append(IoCtxImpl& io, const object_t &oid, AioCompletionImpl *c,
 +               const bufferlist& bl, size_t len);
    int aio_write_full(IoCtxImpl& io, const object_t &oid, AioCompletionImpl *c,
                     const bufferlist& bl);
  
@@@ -2338,16 -2266,9 +2338,16 @@@ aio_sparse_read(const std::string& oid
  
  int librados::IoCtx::
  aio_write(const std::string& oid, librados::AioCompletion *c, const bufferlist& bl,
-         size_t len, off_t off)
+         size_t len, uint64_t off)
  {
 -  return io_ctx_impl->client->aio_write(*io_ctx_impl, oid, c->pc, bl, len, off );
 +  return io_ctx_impl->client->aio_write(*io_ctx_impl, oid, c->pc, bl, len, off);
 +}
 +
 +int librados::IoCtx::
 +aio_append(const std::string& oid, librados::AioCompletion *c, const bufferlist& bl,
 +        size_t len)
 +{
 +  return io_ctx_impl->client->aio_append(*io_ctx_impl, oid, c->pc, bl, len);
  }
  
  int librados::IoCtx::
@@@ -2770,16 -2728,7 +2782,16 @@@ extern "C" int rados_write(rados_ioctx_
    return ctx->client->write(*ctx, oid, bl, len, off);
  }
  
- extern "C" int rados_write_full(rados_ioctx_t io, const char *o, const char *buf, size_t len, off_t off)
 +extern "C" int rados_append(rados_ioctx_t io, const char *o, const char *buf, size_t len)
 +{
 +  librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
 +  object_t oid(o);
 +  bufferlist bl;
 +  bl.append(buf, len);
 +  return ctx->client->append(*ctx, oid, bl, len);
 +}
 +
+ extern "C" int rados_write_full(rados_ioctx_t io, const char *o, const char *buf, size_t len, uint64_t off)
  {
    librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io;
    object_t oid(o);
diff --cc src/librbd.cc
index 7bdda9f433120d83b096a21d053eb31bbc0da3f1,f0aaddf3257a73fa760b44c6d4869534c2a3c131..d0aee23b5f8a999e3dbcbf786d73e0d1c0e016cd
@@@ -1201,10 -1206,9 +1201,10 @@@ void rados_cb(rados_completion_t c, voi
    dout(10) << "rados_cb" << dendl;
    AioBlockCompletion *block_completion = (AioBlockCompletion *)arg;
    block_completion->complete(rados_aio_get_return_value(c));
 +  delete block_completion;
  }
  
- int aio_write(ImageCtx *ictx, off_t off, size_t len, const char *buf,
+ int aio_write(ImageCtx *ictx, uint64_t off, size_t len, const char *buf,
                                 AioCompletion *c)
  {
    if (!len)
diff --cc src/rados.cc
Simple merge
diff --cc src/rbd.cc
Simple merge