]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: used fixed size types for fiemap/mapext/sparseread encoding
authorSage Weil <sage@newdream.net>
Fri, 6 May 2011 20:42:23 +0000 (13:42 -0700)
committerSage Weil <sage@newdream.net>
Fri, 6 May 2011 20:42:57 +0000 (13:42 -0700)
The client expects <uint64_t,uint64_t>, so this breaks on any 32-bit osd.

Signed-off-by: Sage Weil <sage@newdream.net>
src/os/FileStore.cc
src/osd/ReplicatedPG.cc

index 81bc91da07f81b35eb4e41e6ea02dd148e585d68..ca11435c558d41f8456544844e4dcb137911cbf7 100644 (file)
@@ -2198,7 +2198,7 @@ int FileStore::fiemap(coll_t cid, const sobject_t& oid,
 {
 
   if (!ioctl_fiemap) {
-    map<off_t, size_t> m;
+    map<uint64_t, uint64_t> m;
     m[offset] = len;
     ::encode(m, bl);
     return 0;
@@ -2207,7 +2207,7 @@ int FileStore::fiemap(coll_t cid, const sobject_t& oid,
 
   char fn[PATH_MAX];
   struct fiemap *fiemap = NULL;
-  map<off_t, size_t> extmap;
+  map<uint64_t, uint64_t> extmap;
 
   get_coname(cid, oid, fn, sizeof(fn));
 
index ba76b0512b81d0e44b02953bd0f7e3609f3f5a66..84399caba8677838e8ea635ba2e65a1e38976919 100644 (file)
@@ -1142,10 +1142,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops,
          result = r;
           break;
        }
-        map<off_t, size_t> m;
+        map<uint64_t, uint64_t> m;
         bufferlist::iterator iter = bl.begin();
         ::decode(m, iter);
-        map<off_t, size_t>::iterator miter;
+        map<uint64_t, uint64_t>::iterator miter;
         bufferlist data_bl;
         for (miter = m.begin(); miter != m.end(); ++miter) {
           bufferlist tmpbl;