[sheepdog] [PATCH v2 1/2] sheep/http: remove unused code
Robin Dong
robin.k.dong at gmail.com
Mon Dec 23 08:12:58 CET 2013
Reviewed-by: Robin Dong <sanbai at taobao.com>
2013/12/20 Liu Yuan <namei.unix at gmail.com>
> Since we use delete-before-put model to implement overwrite semantics,
> this code
> patch will never bed triggered. So remove it.
>
> Signed-off-by: Liu Yuan <namei.unix at gmail.com>
> ---
> sheep/http/kv.c | 64
> +++++++++++++++------------------------------------------
> 1 file changed, 16 insertions(+), 48 deletions(-)
>
> diff --git a/sheep/http/kv.c b/sheep/http/kv.c
> index 7a826f7..eda9124 100644
> --- a/sheep/http/kv.c
> +++ b/sheep/http/kv.c
> @@ -836,7 +836,7 @@ static bool kv_find_object(struct http_request *req,
> const char *account,
> #define KV_ONODE_INLINE_SIZE (SD_DATA_OBJ_SIZE - sizeof(struct
> kv_onode_hdr))
>
> static int kv_write_onode(struct sd_inode *inode, struct kv_onode *onode,
> - uint32_t vid, uint32_t idx, bool overwrite)
> + uint32_t vid, uint32_t idx)
> {
> uint64_t oid = vid_to_data_oid(vid, idx), len;
> int ret;
> @@ -846,31 +846,19 @@ static int kv_write_onode(struct sd_inode *inode,
> struct kv_onode *onode,
> else
> len = sizeof(struct onode_extent) * onode->hdr.nr_extent;
>
> - if (overwrite) {
> - sd_info("overwrite object %s", onode->hdr.name);
> - ret = sd_write_object(oid, (char *)onode,
> - sizeof(onode->hdr) + len,
> - 0, false);
> - if (ret != SD_RES_SUCCESS) {
> - sd_err("failed to write object, %" PRIx64, oid);
> - goto out;
> - }
> - } else {
> - ret = sd_write_object(oid, (char *)onode,
> - sizeof(onode->hdr) + len,
> - 0, true);
> - if (ret != SD_RES_SUCCESS) {
> - sd_err("failed to create object, %" PRIx64, oid);
> - goto out;
> - }
> - INODE_SET_VID(inode, idx, vid);
> - ret = sd_inode_write_vid(sheep_bnode_writer, inode, idx,
> - vid, vid, 0, false, false);
> - if (ret != SD_RES_SUCCESS) {
> - sd_err("failed to update inode, %" PRIx64,
> - vid_to_vdi_oid(vid));
> - goto out;
> - }
> + ret = sd_write_object(oid, (char *)onode, sizeof(onode->hdr) + len,
> + 0, true);
> + if (ret != SD_RES_SUCCESS) {
> + sd_err("failed to create object, %" PRIx64, oid);
> + goto out;
> + }
> + INODE_SET_VID(inode, idx, vid);
> + ret = sd_inode_write_vid(sheep_bnode_writer, inode, idx,
> + vid, vid, 0, false, false);
> + if (ret != SD_RES_SUCCESS) {
> + sd_err("failed to update inode, %" PRIx64,
> + vid_to_vdi_oid(vid));
> + goto out;
> }
> out:
> return ret;
> @@ -880,14 +868,10 @@ out:
> * Create the object if the index isn't taken. Overwrite the object if it
> exists
> * Return SD_RES_OBJ_TAKEN if the index is taken by other object.
> */
> -static int do_kv_create_object(struct http_request *req,
> - struct kv_onode *onode,
> +static int do_kv_create_object(struct http_request *req, struct kv_onode
> *onode,
> uint32_t vid, uint32_t idx)
> {
> struct sd_inode *inode = xmalloc(sizeof(struct sd_inode));
> - uint64_t oid = vid_to_data_oid(vid, idx);
> - struct kv_onode_hdr hdr;
> - uint32_t tmp_vid;
> int ret;
>
> ret = sd_read_object(vid_to_vdi_oid(vid), (char *)inode,
> @@ -897,23 +881,7 @@ static int do_kv_create_object(struct http_request
> *req,
> vid_to_vdi_oid(vid));
> goto out;
> }
> - tmp_vid = INODE_GET_VID(inode, idx);
> - if (tmp_vid) {
> - ret = sd_read_object(oid, (char *)&hdr, sizeof(hdr), 0);
> - if (ret != SD_RES_SUCCESS) {
> - sd_err("failed to read object, %" PRIx64, oid);
> - goto out;
> - }
> -
> - if (hdr.name[0] != '\0' &&
> - strcmp(hdr.name, onode->hdr.name) != 0) {
> - sd_debug("index %d is already used", idx);
> - ret = SD_RES_OBJ_TAKEN;
> - goto out;
> - }
> - }
> -
> - ret = kv_write_onode(inode, onode, vid, idx, !!tmp_vid);
> + ret = kv_write_onode(inode, onode, vid, idx);
> if (ret != SD_RES_SUCCESS)
> sd_err("Failed to write onode");
> out:
> --
> 1.8.1.2
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
>
--
--
Best Regard
Robin Dong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20131223/84a2a1d7/attachment-0004.html>
More information about the sheepdog
mailing list