From: Yehuda Sadeh Date: Tue, 18 Jun 2013 23:28:20 +0000 (-0700) Subject: cls_statelog: pass in timestamp X-Git-Tag: v0.67-rc1~128^2~25^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0b932bfdd99b58042e1aefe47569846ba01cb5a6;p=ceph.git cls_statelog: pass in timestamp Signed-off-by: Yehuda Sadeh --- diff --git a/src/cls/statelog/cls_statelog.cc b/src/cls/statelog/cls_statelog.cc index d9e57b06ff77..f2cbbf79672e 100644 --- a/src/cls/statelog/cls_statelog.cc +++ b/src/cls/statelog/cls_statelog.cc @@ -186,7 +186,7 @@ static int cls_statelog_list(cls_method_context_t hctx, bufferlist *in, bufferli if (rc < 0) return rc; -CLS_LOG(0, "%s: %d from_index=%s match_prefix=%s", __FILE__, __LINE__, from_index.c_str(), match_prefix.c_str()); + CLS_LOG(20, "from_index=%s match_prefix=%s", from_index.c_str(), match_prefix.c_str()); cls_statelog_list_ret ret; list& entries = ret.entries; @@ -199,7 +199,6 @@ CLS_LOG(0, "%s: %d from_index=%s match_prefix=%s", __FILE__, __LINE__, from_inde for (i = 0; i < max_entries && iter != keys.end(); ++i, ++iter) { const string& index = iter->first; marker = index; -CLS_LOG(0, "%s: %d index=%s", __FILE__, __LINE__, index.c_str()); bufferlist& bl = iter->second; bufferlist::iterator biter = bl.begin(); diff --git a/src/cls/statelog/cls_statelog_client.cc b/src/cls/statelog/cls_statelog_client.cc index 486daf227d42..70e7ed6a22a1 100644 --- a/src/cls/statelog/cls_statelog_client.cc +++ b/src/cls/statelog/cls_statelog_client.cc @@ -27,22 +27,23 @@ void cls_statelog_add(librados::ObjectWriteOperation& op, cls_statelog_entry& en } void cls_statelog_add_prepare_entry(cls_statelog_entry& entry, const string& client_id, const string& op_id, - const string& object, uint32_t state, bufferlist& bl) + const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl) { entry.client_id = client_id; entry.op_id = op_id; entry.object = object; + entry.timestamp = timestamp; entry.state = state; entry.data = bl; } void cls_statelog_add(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id, - const string& object, uint32_t state, bufferlist& bl) + const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl) { cls_statelog_entry entry; - cls_statelog_add_prepare_entry(entry, client_id, op_id, object, state, bl); + cls_statelog_add_prepare_entry(entry, client_id, op_id, object, timestamp, state, bl); cls_statelog_add(op, entry); } diff --git a/src/cls/statelog/cls_statelog_client.h b/src/cls/statelog/cls_statelog_client.h index 310bc44d403d..7faf361e1dc9 100644 --- a/src/cls/statelog/cls_statelog_client.h +++ b/src/cls/statelog/cls_statelog_client.h @@ -10,12 +10,12 @@ */ void cls_statelog_add_prepare_entry(cls_statelog_entry& entry, const string& client_id, const string& op_id, - const string& object, uint32_t state, bufferlist& bl); + const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl); void cls_statelog_add(librados::ObjectWriteOperation& op, list& entry); void cls_statelog_add(librados::ObjectWriteOperation& op, cls_statelog_entry& entry); void cls_statelog_add(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id, - const string& object, uint32_t state, bufferlist& bl); + const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl); void cls_statelog_list(librados::ObjectReadOperation& op, const string& client_id, const string& op_id, const string& object, /* op_id may be empty, also one of client_id, object*/ diff --git a/src/test/cls_statelog/test_cls_statelog.cc b/src/test/cls_statelog/test_cls_statelog.cc index ac90157aa9e3..294b528f5db2 100644 --- a/src/test/cls_statelog/test_cls_statelog.cc +++ b/src/test/cls_statelog/test_cls_statelog.cc @@ -38,7 +38,9 @@ void add_log(librados::ObjectWriteOperation *op, const string& client_id, const bufferlist bl; ::encode(state, bl); - cls_statelog_add(*op, client_id, op_id, obj, state, bl); + utime_t ts = ceph_clock_now(g_ceph_context); + + cls_statelog_add(*op, client_id, op_id, obj, ts, state, bl); } void next_op_id(string& op_id, int *id)