[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