From: Yunkai Zhang <[email protected]>

V2:
- cleanup more places as possible as I can.

Note:
- this patch based on my two previous patches:
1) sheep: refactor oid_to_vnode[s] and cleanup obj_to_sheep[s]
2) sheep: refactor get_nth_node() and get_vnode_pos()
------------------------------------------------------ >8

The type of request->vnodes is vnode_info, let's rename it to ->vinfo which
will be more descriptive.

Cleanup other places as possible as I can according this naming rule.

Signed-off-by: Yunkai Zhang <[email protected]>
---
 sheep/farm/trunk.c | 10 +++++-----
 sheep/gateway.c    |  8 ++++----
 sheep/ops.c        |  2 +-
 sheep/recovery.c   | 32 ++++++++++++++++----------------
 sheep/request.c    | 12 ++++++------
 sheep/sheep_priv.h |  7 +++----
 6 files changed, 35 insertions(+), 36 deletions(-)

diff --git a/sheep/farm/trunk.c b/sheep/farm/trunk.c
index 6b5971b..cd1fd20 100644
--- a/sheep/farm/trunk.c
+++ b/sheep/farm/trunk.c
@@ -239,15 +239,15 @@ static unsigned char *omap_tree_insert(uint64_t oid, 
unsigned char *sha1)
 static int oid_stale(uint64_t oid)
 {
        int i, nr_copies;
-       struct vnode_info *vnodes;
+       struct vnode_info *vinfo;
        struct sd_vnode *v;
        int ret = 1;
        struct sd_vnode *obj_vnodes[SD_MAX_COPIES];
 
-       vnodes = get_vnode_info();
-       nr_copies = get_nr_copies(vnodes);
+       vinfo = get_vnode_info();
+       nr_copies = get_nr_copies(vinfo);
 
-       oid_to_vnodes(vnodes->vnodes, vnodes->nr_vnodes, oid,
+       oid_to_vnodes(vinfo->vnodes, vinfo->nr_vnodes, oid,
                      nr_copies, obj_vnodes);
        for (i = 0; i < nr_copies; i++) {
                v = obj_vnodes[i];
@@ -257,7 +257,7 @@ static int oid_stale(uint64_t oid)
                }
        }
 
-       put_vnode_info(vnodes);
+       put_vnode_info(vinfo);
        return ret;
 }
 
diff --git a/sheep/gateway.c b/sheep/gateway.c
index fe7ef2d..382dc7c 100644
--- a/sheep/gateway.c
+++ b/sheep/gateway.c
@@ -35,8 +35,8 @@ int gateway_read_obj(struct request *req)
        if (sys->enable_write_cache && !req->local && !bypass_object_cache(req))
                return object_cache_handle_request(req);
 
-       nr_copies = get_nr_copies(req->vnodes);
-       oid_to_vnodes(req->vnodes->vnodes, req->vnodes->nr_vnodes, oid,
+       nr_copies = get_nr_copies(req->vinfo);
+       oid_to_vnodes(req->vinfo->vnodes, req->vinfo->nr_vnodes, oid,
                      nr_copies, obj_vnodes);
        for (i = 0; i < nr_copies; i++) {
                v = obj_vnodes[i];
@@ -245,8 +245,8 @@ static int gateway_forward_request(struct request *req)
 
        write_info_init(&wi);
        wlen = hdr.data_length;
-       nr_copies = get_nr_copies(req->vnodes);
-       oid_to_vnodes(req->vnodes->vnodes, req->vnodes->nr_vnodes, oid,
+       nr_copies = get_nr_copies(req->vinfo);
+       oid_to_vnodes(req->vinfo->vnodes, req->vinfo->nr_vnodes, oid,
                      nr_copies, obj_vnodes);
 
        for (i = 0; i < nr_copies; i++) {
diff --git a/sheep/ops.c b/sheep/ops.c
index 861d449..2210173 100644
--- a/sheep/ops.c
+++ b/sheep/ops.c
@@ -815,7 +815,7 @@ int peer_create_and_write_obj(struct request *req)
                        goto out;
                }
                if (hdr->data_length != SD_DATA_OBJ_SIZE) {
-                       ret = read_copy_from_replica(req->vnodes, hdr->epoch,
+                       ret = read_copy_from_replica(req->vinfo, hdr->epoch,
                                                     hdr->obj.cow_oid, buf);
                        if (ret != SD_RES_SUCCESS) {
                                eprintf("failed to read cow object\n");
diff --git a/sheep/recovery.c b/sheep/recovery.c
index 080a4b8..5164aa7 100644
--- a/sheep/recovery.c
+++ b/sheep/recovery.c
@@ -36,8 +36,8 @@ struct recovery_work {
        uint64_t *prio_oids;
        int nr_prio_oids;
 
-       struct vnode_info *old_vnodes;
-       struct vnode_info *cur_vnodes;
+       struct vnode_info *old_vinfo;
+       struct vnode_info *cur_vinfo;
 };
 
 static struct recovery_work *next_rw;
@@ -165,7 +165,7 @@ static int do_recover_object(struct recovery_work *rw)
        uint32_t epoch = rw->epoch, tgt_epoch = rw->epoch - 1;
        int nr_copies, ret, i;
 
-       old = grab_vnode_info(rw->old_vnodes);
+       old = grab_vnode_info(rw->old_vinfo);
 
 again:
        dprintf("try recover object %"PRIx64" from epoch %"PRIu32"\n",
@@ -178,8 +178,8 @@ again:
                                                          old->nr_vnodes,
                                                          oid, i);
 
-               if (is_invalid_vnode(tgt_vnode, rw->cur_vnodes->nodes,
-                                    rw->cur_vnodes->nr_nodes))
+               if (is_invalid_vnode(tgt_vnode, rw->cur_vinfo->nodes,
+                                    rw->cur_vinfo->nr_nodes))
                        continue;
                ret = recover_object_from_replica(oid, tgt_vnode,
                                                  epoch, tgt_epoch);
@@ -320,8 +320,8 @@ bool oid_in_recovery(uint64_t oid)
 
 static void free_recovery_work(struct recovery_work *rw)
 {
-       put_vnode_info(rw->cur_vnodes);
-       put_vnode_info(rw->old_vnodes);
+       put_vnode_info(rw->cur_vinfo);
+       put_vnode_info(rw->old_vinfo);
        free(rw->oids);
        free(rw);
 }
@@ -343,7 +343,7 @@ static inline void finish_recovery(struct recovery_work *rw)
        sys->recovered_epoch = rw->epoch;
 
        if (sd_store->end_recover)
-               sd_store->end_recover(sys->epoch - 1, rw->old_vnodes);
+               sd_store->end_recover(sys->epoch - 1, rw->old_vinfo);
 
        free_recovery_work(rw);
 
@@ -515,9 +515,9 @@ static void screen_object_list(struct recovery_work *rw,
        int nr_objs;
        int i, j;
 
-       nr_objs = get_nr_copies(rw->cur_vnodes);
+       nr_objs = get_nr_copies(rw->cur_vinfo);
        for (i = 0; i < nr_oids; i++) {
-               oid_to_vnodes(rw->cur_vnodes->vnodes, rw->cur_vnodes->nr_vnodes,
+               oid_to_vnodes(rw->cur_vinfo->vnodes, rw->cur_vinfo->nr_vnodes,
                              oids[i], nr_objs, vnodes);
                for (j = 0; j < nr_objs; j++) {
                        if (!vnode_is_local(vnodes[j]))
@@ -536,7 +536,7 @@ static void screen_object_list(struct recovery_work *rw,
 
 static int newly_joined(struct sd_node *node, struct recovery_work *rw)
 {
-       if (bsearch(node, rw->old_vnodes->nodes, rw->old_vnodes->nr_nodes,
+       if (bsearch(node, rw->old_vinfo->nodes, rw->old_vinfo->nr_nodes,
                    sizeof(struct sd_node), node_id_cmp))
                return 0;
        return 1;
@@ -549,8 +549,8 @@ static void prepare_object_list(struct work *work)
                                                work);
        uint8_t *buf = NULL;
        size_t buf_size = SD_DATA_OBJ_SIZE; /* FIXME */
-       struct sd_node *cur = rw->cur_vnodes->nodes;
-       int cur_nr = rw->cur_vnodes->nr_nodes;
+       struct sd_node *cur = rw->cur_vinfo->nodes;
+       int cur_nr = rw->cur_vinfo->nr_nodes;
        int start = random() % cur_nr, i, end = cur_nr;
 
        dprintf("%u\n", rw->epoch);
@@ -592,7 +592,7 @@ static inline bool node_is_gateway_only(void)
        return sys->this_node.nr_vnodes == 0 ? true : false;
 }
 
-int start_recovery(struct vnode_info *cur_vnodes, struct vnode_info 
*old_vnodes)
+int start_recovery(struct vnode_info *cur_vinfo, struct vnode_info *old_vinfo)
 {
        struct recovery_work *rw;
 
@@ -610,8 +610,8 @@ int start_recovery(struct vnode_info *cur_vnodes, struct 
vnode_info *old_vnodes)
        rw->epoch = sys->epoch;
        rw->count = 0;
 
-       rw->cur_vnodes = grab_vnode_info(cur_vnodes);
-       rw->old_vnodes = grab_vnode_info(old_vnodes);
+       rw->cur_vinfo = grab_vnode_info(cur_vinfo);
+       rw->old_vinfo = grab_vnode_info(old_vinfo);
 
        rw->work.fn = prepare_object_list;
        rw->work.done = finish_object_list;
diff --git a/sheep/request.c b/sheep/request.c
index a673a63..ab7c63a 100644
--- a/sheep/request.c
+++ b/sheep/request.c
@@ -30,8 +30,8 @@ static int is_access_local(struct request *req, uint64_t oid)
        int nr_copies;
        int i;
 
-       nr_copies = get_nr_copies(req->vnodes);
-       oid_to_vnodes(req->vnodes->vnodes, req->vnodes->nr_vnodes, oid,
+       nr_copies = get_nr_copies(req->vinfo);
+       oid_to_vnodes(req->vinfo->vnodes, req->vinfo->nr_vnodes, oid,
                      nr_copies, obj_vnodes);
 
        for (i = 0; i < nr_copies; i++) {
@@ -365,7 +365,7 @@ static void queue_request(struct request *req)
         * called before we set up current_vnode_info
         */
        if (!is_force_op(req->op))
-               req->vnodes = get_vnode_info();
+               req->vinfo = get_vnode_info();
 
        if (is_peer_op(req->op)) {
                queue_peer_request(req);
@@ -391,8 +391,8 @@ done:
 
 static void requeue_request(struct request *req)
 {
-       if (req->vnodes)
-               put_vnode_info(req->vnodes);
+       if (req->vinfo)
+               put_vnode_info(req->vinfo);
        queue_request(req);
 }
 
@@ -479,7 +479,7 @@ static void free_request(struct request *req)
        uatomic_dec(&sys->nr_outstanding_reqs);
 
        req->ci->refcnt--;
-       put_vnode_info(req->vnodes);
+       put_vnode_info(req->vinfo);
        free(req->data);
        free(req);
 }
diff --git a/sheep/sheep_priv.h b/sheep/sheep_priv.h
index 201d322..6f667ee 100644
--- a/sheep/sheep_priv.h
+++ b/sheep/sheep_priv.h
@@ -57,7 +57,7 @@ struct request {
 
        uint64_t local_oid;
 
-       struct vnode_info *vnodes;
+       struct vnode_info *vinfo;
 
        struct work work;
 };
@@ -214,7 +214,7 @@ struct vnode_info *grab_vnode_info(struct vnode_info 
*vnode_info);
 struct vnode_info *get_vnode_info(void);
 void update_vnode_info(struct vnode_info *vnode_info);
 struct vnode_info *alloc_vnode_info(struct sd_node *nodes, size_t nr_nodes);
-void put_vnode_info(struct vnode_info *vnodes);
+void put_vnode_info(struct vnode_info *vinfo);
 struct vnode_info *get_vnode_info_epoch(uint32_t epoch);
 
 int get_nr_copies(struct vnode_info *vnode_info);
@@ -253,8 +253,7 @@ uint64_t get_cluster_ctime(void);
 int get_obj_list(const struct sd_list_req *, struct sd_list_rsp *, void *);
 int objlist_cache_cleanup(uint32_t vid);
 
-int start_recovery(struct vnode_info *cur_vnodes,
-       struct vnode_info *old_vnodes);
+int start_recovery(struct vnode_info *cur_vinfo, struct vnode_info *old_vinfo);
 void resume_recovery_work(void);
 bool oid_in_recovery(uint64_t oid);
 int is_recovery_init(void);
-- 
1.7.11.2

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to