From a4b7dc42727b3a1332d7a87cc65e19bacb1f1148 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Mon, 2 Nov 2009 16:37:38 -0800 Subject: [PATCH] Hadoop: Don't use the local pg by default. --- src/client/hadoop/CephFSInterface.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/client/hadoop/CephFSInterface.cc b/src/client/hadoop/CephFSInterface.cc index a379e31d5b2e8..869b22bf9ada3 100644 --- a/src/client/hadoop/CephFSInterface.cc +++ b/src/client/hadoop/CephFSInterface.cc @@ -33,8 +33,10 @@ JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1initi //construct an arguments vector vector args_vec; + string arg; size_t i = 0; size_t j = 0; + bool local_writes = false; while (1) { j = args.find(' ', i); if (j == string::npos) { @@ -46,8 +48,13 @@ JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1initi args_vec.push_back(args.substr(i, args.size())); break; } - if (j!=i) //if there are two spaces in a row, dont' make a new arg - args_vec.push_back(args.substr(i, j-i)); + if (j!=i) { //if there are two spaces in a row, don't make a new arg + arg = args.substr(i, j-i); + if (arg.compare("set_local_pg") == 0) + local_writes = true; + else + args_vec.push_back(arg); + } i = j+1; } @@ -66,8 +73,8 @@ JNIEXPORT jboolean JNICALL Java_org_apache_hadoop_fs_ceph_CephTalker_ceph_1initi if (r < 0) return false; r = ceph_mount(); if (r < 0) return false; - - ceph_set_default_preferred_pg(ceph_get_local_osd()); + if (local_writes) + ceph_set_default_preferred_pg(ceph_get_local_osd()); return true; } -- 2.39.5