From a77e833d71b939ddad08e34c3b031288feb30f29 Mon Sep 17 00:00:00 2001 From: sage Date: Fri, 1 Jul 2005 16:07:16 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@374 29311d96-e01e-0410-9327-a35deaab8ce9 --- ceph/config.cc | 4 ++++ ceph/config.h | 1 + ceph/mds/LogStream.cc | 2 +- ceph/mds/MDLog.cc | 10 ++++++++-- ceph/mds/MDLog.h | 1 + ceph/osd/FakeStore.cc | 6 ++++-- ceph/osdc/Filer.cc | 10 +++++----- 7 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ceph/config.cc b/ceph/config.cc index da72f44ccf6e9..fba8bf5897157 100644 --- a/ceph/config.cc +++ b/ceph/config.cc @@ -50,6 +50,7 @@ md_config_t g_conf = { debug_mds_balancer: 1, debug_mds_log: 1, debug_buffer: 0, + debug_filer: 0, // --- client --- client_cache_size: 400, @@ -151,6 +152,9 @@ void parse_config_options(int argc, char **argv, g_conf.debug_mds_log = atoi(argv[++i]); else if (strcmp(argv[i], "--debug_buffer") == 0) g_conf.debug_buffer = atoi(argv[++i]); + else if (strcmp(argv[i], "--debug_filer") == 0) + g_conf.debug_filer = atoi(argv[++i]); + else if (strcmp(argv[i], "--log") == 0) g_conf.log = atoi(argv[++i]); else if (strcmp(argv[i], "--log_name") == 0) diff --git a/ceph/config.h b/ceph/config.h index 0a39279bd17d2..6a4a84ff8cedf 100644 --- a/ceph/config.h +++ b/ceph/config.h @@ -26,6 +26,7 @@ struct md_config_t { int debug_mds_balancer; int debug_mds_log; int debug_buffer; + int debug_filer; // client int client_cache_size; diff --git a/ceph/mds/LogStream.cc b/ceph/mds/LogStream.cc index 991a3666c322a..26f6ad35fb7d9 100644 --- a/ceph/mds/LogStream.cc +++ b/ceph/mds/LogStream.cc @@ -236,7 +236,7 @@ void LogStream::wait_for_next_event(Context *c) void LogStream::_did_read(bufferlist& blist) { - dout(15) << "_did_read got " << blist.length() << " bytes" << endl; + dout(15) << "_did_read got " << blist.length() << " bytes at offset " << (read_pos + read_buf.length()) << endl; read_buf.claim_append(blist); list finished; diff --git a/ceph/mds/MDLog.cc b/ceph/mds/MDLog.cc index b0d4cef6b5f06..48ba97f8e8a16 100644 --- a/ceph/mds/MDLog.cc +++ b/ceph/mds/MDLog.cc @@ -113,12 +113,18 @@ public: mdl = m; } void finish(int res) { - mdl->waiting_for_read = false; - mdl->trim(0); + mdl->_did_read(); } }; +void MDLog::_did_read() +{ + dout(5) << "_did_read()" << endl; + waiting_for_read = false; + trim(0); +} + void MDLog::trim(Context *c) { // add waiter diff --git a/ceph/mds/MDLog.h b/ceph/mds/MDLog.h index 6420422954cf2..512243196774e 100644 --- a/ceph/mds/MDLog.h +++ b/ceph/mds/MDLog.h @@ -70,6 +70,7 @@ class MDLog { void flush(); void trim(Context *c); + void _did_read(); void _trimmed(LogEvent *le); }; diff --git a/ceph/osd/FakeStore.cc b/ceph/osd/FakeStore.cc index a61ecd3f4bf83..4f995fa0166cd 100644 --- a/ceph/osd/FakeStore.cc +++ b/ceph/osd/FakeStore.cc @@ -2,6 +2,7 @@ #include "FakeStore.h" #include "include/types.h" + #include #include #include @@ -19,9 +20,10 @@ #define dout(l) if (l<=g_conf.debug) cout << "osd" << whoami << ".fakestore " +// crap-a-crap hash #define HASH_DIRS 128LL -#define HASH_FUNC(x) (((x)/13LL)%HASH_DIRS) - +#define HASH_FUNC(x) (((x) ^ ((x)>>30) ^ ((x)>>18) ^ ((x)>>45) ^ 0xdead1234) * 884811 % HASH_DIRS) +// end crap hash diff --git a/ceph/osdc/Filer.cc b/ceph/osdc/Filer.cc index 9d41b971ae0fd..571a784f10c96 100644 --- a/ceph/osdc/Filer.cc +++ b/ceph/osdc/Filer.cc @@ -17,7 +17,7 @@ #include "include/config.h" #undef dout -#define dout(x) if (x <= g_conf.debug) cout << "filer: " +#define dout(x) if (x <= g_conf.debug || x <= g_conf.debug_filer) cout << "filer: " @@ -132,13 +132,13 @@ Filer::handle_osd_read_reply(MOSDOpReply *m) PendingOSDRead_t *p = op_reads[ tid ]; op_reads.erase( tid ); - // what buffer offset are we? - size_t off = p->read_off[tid]; - dout(7) << "got frag at " << off << " len " << m->get_length() << endl; - // our op finished p->outstanding_ops.erase(tid); + // what buffer offset are we? + size_t off = p->read_off[tid]; + dout(7) << "got frag at " << off << " len " << m->get_length() << ", still have " << p->outstanding_ops.size() << " more ops" << endl; + if (p->outstanding_ops.empty()) { // all done p->read_result->clear(); -- 2.39.5