]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
*** empty log message ***
authorsage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 15 Jun 2005 03:47:09 +0000 (03:47 +0000)
committersage <sage@29311d96-e01e-0410-9327-a35deaab8ce9>
Wed, 15 Jun 2005 03:47:09 +0000 (03:47 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@320 29311d96-e01e-0410-9327-a35deaab8ce9

ceph/mds/CFile.h
ceph/mds/MDS.cc
ceph/osd/OSDMap.h
ceph/osd/rush.cc

index 3b81c3a6acc055fe010dcab85be179b7c02a2681..c78d43f18f6258f851c1ed6851eb46cb89efd515 100644 (file)
@@ -13,7 +13,8 @@
 #define CFILE_CAP_WRBUFFER 8
 
 
-struct CFile {
+class CFile {
+ public:
   int            client;
   fileh_t        fh;    // file handle
   int            mode;  // mode the file was opened in
@@ -21,12 +22,21 @@ struct CFile {
   long           last_sent;
   int            confirmed_caps;  // known to be client capabilities
   long           last_recv;
+
+  CFile() :
+       client(0),
+       fh(0),
+       mode(0),
+       pending_caps(0),
+       last_sent(0),
+       confirmed_caps(0),
+       last_recv(0) { }
 };
 
 
 // capability helper functions!
 inline int file_mode_want_caps(int mode) {
-  int wants;
+  int wants = 0;
   if (mode == CFILE_MODE_W ) {
        wants |= CFILE_CAP_WR | CFILE_CAP_WRBUFFER;
   }
index 8192a2314e85e8ae0363963bb4d42b6315ee8bb3..10e9fbf343af72a3c9cc2ac7a6bbc01d39e8fe67 100644 (file)
@@ -130,7 +130,6 @@ MDS::MDS(MDCluster *mdc, int whoami, Messenger *m) {
   mds_logtype.add_inc("fw");
   mds_logtype.add_inc("cfw");
 
-  mds_logtype.add_set("cmax");
   mds_logtype.add_set("c");
   mds_logtype.add_set("ctop");
   mds_logtype.add_set("cbot");
@@ -148,8 +147,6 @@ MDS::MDS(MDCluster *mdc, int whoami, Messenger *m) {
   mds_logtype.add_set("nex");
   mds_logtype.add_set("nim");
 
-  mds->logger->set("cmax", lru.lru_get_max());
-
   
   char n[80];
   sprintf(n, "mds%d.cache", whoami);
@@ -2255,7 +2252,7 @@ void MDS::handle_client_open(MClientRequest *req,
   if (!caps) return; // can't issue (yet), so wait!
 
   // create fh
-  CFile *f = new CFile;
+  CFile *f = new CFile();
   f->mode = mode;
   f->client = req->get_client();
   f->fh = idalloc->get_id(ID_FH);
index f2c95fa88bf35e6031676b1652f322f4172c42a6..8ffac78ef4406bedb3ac7afffbbf8f7ff8ce173e 100644 (file)
@@ -118,8 +118,6 @@ class OSDCluster {
   }
 
   // serialize, unserialize
-  //void _rope(crope& r);
-  //void _unrope(crope& r, int& off);
   void encode(bufferlist& blist);
   void decode(bufferlist& blist);
 
index 0329ba3fed31e4ddd4b393ecdede6c9940b6390f..5c6eade301f2c33923d6327d68b787a227613108 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <stdlib.h>
 #include <stdio.h>
+#include <cassert>
 #include "rush.h"
 
 
@@ -159,12 +160,17 @@ RushRNG::DrawKofN (int vals[], int nToDraw, int setSize)
   int  deck[setSize];
   int  i, pick, t;
 
+  assert(nToDraw <= setSize);
+
   for (i = 0; i < setSize; i++) {
     deck[i] = i;
   }
 
   for (i = 0; i < nToDraw; i++) {
     pick = (int)(RandomDouble () * (double)(setSize - i));
+       if (pick >= setSize-i) pick = setSize-i-1;  // in case
+       //      assert(i >= 0 && i < nToDraw);
+       //      assert(pick >= 0 && pick < setSize);
     vals[i] = deck[pick];
     deck[pick] = deck[setSize-i-1];
   }