[sheepdog] [PATCH 1/2] recovery: remove useless code in oid_in_recovery()
Liu Yuan
namei.unix at gmail.com
Tue Aug 28 05:04:52 CEST 2012
From: Liu Yuan <tailai.ly at taobao.com>
We are now passing CREATE request directly to backend store, so no need to
check newly created oid in oid_in_recovery(). This will boost recovery
performance a bit.
Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
---
sheep/recovery.c | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/sheep/recovery.c b/sheep/recovery.c
index 59ac9d6..769f718 100644
--- a/sheep/recovery.c
+++ b/sheep/recovery.c
@@ -280,10 +280,10 @@ static inline void prepare_schedule_oid(uint64_t oid)
dprintf("%"PRIx64" nr_prio_oids %d\n", oid, rw->nr_prio_oids);
}
+/* Try schedule requested object if not recovered yet and in RW_RUN state */
bool oid_in_recovery(uint64_t oid)
{
struct recovery_work *rw = recovering_work;
- int i;
if (!node_in_recovery())
return false;
@@ -300,20 +300,6 @@ bool oid_in_recovery(uint64_t oid)
if (rw->state == RW_INIT)
return true;
- /* FIXME: do we need more efficient yet complex data structure? */
- for (i = rw->done - 1; i < rw->count; i++)
- if (rw->oids[i] == oid)
- break;
-
- /*
- * Newly created object after prepare_object_list() might not be
- * in the list
- */
- if (i == rw->count) {
- eprintf("%"PRIx64" is not in the recovery list\n", oid);
- return false;
- }
-
prepare_schedule_oid(oid);
return true;
}
--
1.7.10.2
More information about the sheepdog
mailing list