]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
csyn: implement localize_reads cmdline option
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Tue, 1 Feb 2011 18:14:05 +0000 (10:14 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Wed, 2 Feb 2011 11:56:45 +0000 (03:56 -0800)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/client/SyntheticClient.cc
src/csyn.cc

index 2522e4613db5694b1e156a2c3ebe4f278bed63aa..4c3dc72a5068f23a504e8189d421140af482345b 100644 (file)
@@ -48,6 +48,7 @@ using namespace std;
 list<int> syn_modes;
 list<int> syn_iargs;
 list<string> syn_sargs;
+int syn_filer_flags = 0;
 
 void parse_syn_options(vector<const char*>& args)
 {
@@ -245,6 +246,10 @@ void parse_syn_options(vector<const char*>& args)
         assert(0);
       }
     }
+    else if (strcmp(args[i], "localize_reads") == 0) {
+      cerr << "set CEPH_OSD_FLAG_LOCALIZE_READS" << std::endl;
+      syn_filer_flags |= CEPH_OSD_FLAG_LOCALIZE_READS;
+    }
     else {
       nargs.push_back(args[i]);
     }
index 29a815c8193f62657c3bbbef380d5308908f9f8d..24053e04a118ac0214418d4ceb03c57e3a2ca373 100644 (file)
@@ -37,6 +37,8 @@ using namespace std;
 #include <sys/stat.h>
 #include <fcntl.h>
 
+extern int syn_filer_flags;
+
 int main(int argc, const char **argv, char *envp[]) 
 {
   //cerr << "csyn starting" << std::endl;
@@ -71,6 +73,7 @@ int main(int argc, const char **argv, char *envp[])
     mclients[i] = new MonClient();
     mclients[i]->build_initial_monmap();
     Client *client = new Client(messengers[i], mclients[i]);
+    client->set_filer_flags(syn_filer_flags);
     SyntheticClient *syn = new SyntheticClient(client);
     clients.push_back(client);
     synclients.push_back(syn);