All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Dillaman <jdillama@redhat.com>
To: Ilya Dryomov <idryomov@gmail.com>
Cc: ceph-devel <ceph-devel@vger.kernel.org>, Alex Elder <elder@ieee.org>
Subject: Re: [PATCH 13/15] rbd: RBD_V{1,2}_DATA_FORMAT macros
Date: Wed, 15 Feb 2017 09:47:24 -0500	[thread overview]
Message-ID: <CA+aFP1DPCgERzjKhneL_qdxYO3tRd_Jo_nHJzVjf9L8GEEjYJw@mail.gmail.com> (raw)
In-Reply-To: <1487103124-2974-14-git-send-email-idryomov@gmail.com>

Nit: only since you are correcting the v1 name format, it should also
include 32bits of "extra" randomness (i.e.
rb.<idhi>.<idlo>.<extra>.000000000000). Looks like it's documented
incorrectly in librbd as well.

On Tue, Feb 14, 2017 at 3:12 PM, Ilya Dryomov <idryomov@gmail.com> wrote:
> ... and also fix up the comment -- format 1 data objects have always
> been 12 hex digits long.
>
> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
> ---
>  drivers/block/rbd.c       | 6 ++----
>  drivers/block/rbd_types.h | 7 ++++---
>  2 files changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index 47cfd5d89e69..3bc84afe5b50 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -1257,18 +1257,16 @@ static void rbd_segment_name_free(const char *name)
>
>  static const char *rbd_segment_name(struct rbd_device *rbd_dev, u64 offset)
>  {
> +       const char *name_format = rbd_dev->image_format == 1 ?
> +                                     RBD_V1_DATA_FORMAT : RBD_V2_DATA_FORMAT;
>         char *name;
>         u64 segment;
>         int ret;
> -       char *name_format;
>
>         name = kmem_cache_alloc(rbd_segment_name_cache, GFP_NOIO);
>         if (!name)
>                 return NULL;
>         segment = offset >> rbd_dev->header.obj_order;
> -       name_format = "%s.%012llx";
> -       if (rbd_dev->image_format == 2)
> -               name_format = "%s.%016llx";
>         ret = snprintf(name, CEPH_MAX_OID_NAME_LEN + 1, name_format,
>                         rbd_dev->header.object_prefix, segment);
>         if (ret < 0 || ret > CEPH_MAX_OID_NAME_LEN) {
> diff --git a/drivers/block/rbd_types.h b/drivers/block/rbd_types.h
> index be9c76d292f5..0a15ca3aa0f1 100644
> --- a/drivers/block/rbd_types.h
> +++ b/drivers/block/rbd_types.h
> @@ -25,8 +25,8 @@
>   */
>
>  #define RBD_HEADER_PREFIX      "rbd_header."
> -#define RBD_DATA_PREFIX        "rbd_data."
>  #define RBD_ID_PREFIX          "rbd_id."
> +#define RBD_V2_DATA_FORMAT     "%s.%016llx"
>
>  #define RBD_LOCK_NAME          "rbd_lock"
>  #define RBD_LOCK_TAG           "internal"
> @@ -42,13 +42,14 @@ enum rbd_notify_op {
>  /*
>   * For format version 1, rbd image 'foo' consists of objects
>   *   foo.rbd           - image metadata
> - *   rb.<idhi>.<idlo>.00000000
> - *   rb.<idhi>.<idlo>.00000001
> + *   rb.<idhi>.<idlo>.000000000000
> + *   rb.<idhi>.<idlo>.000000000001
>   *   ...               - data
>   * There is no notion of a persistent image id in rbd format 1.
>   */
>
>  #define RBD_SUFFIX             ".rbd"
> +#define RBD_V1_DATA_FORMAT     "%s.%012llx"
>
>  #define RBD_DIRECTORY           "rbd_directory"
>  #define RBD_INFO                "rbd_info"
> --
> 2.4.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Jason

  reply	other threads:[~2017-02-15 14:47 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-14 20:11 [PATCH 00/15] rbd: support for data-pool + obj_request->object_no Ilya Dryomov
2017-02-14 20:11 ` [PATCH 01/15] rbd: use kstrndup() in rbd_header_from_disk() Ilya Dryomov
2017-02-15 15:52   ` Alex Elder
2017-02-15 15:52   ` Alex Elder
2017-02-14 20:11 ` [PATCH 02/15] rbd: kill rbd_image_header::{crypt_type,comp_type} Ilya Dryomov
2017-02-14 20:11 ` [PATCH 03/15] rbd: initialize rbd_dev->header_oloc early Ilya Dryomov
2017-02-14 20:11 ` [PATCH 04/15] rbd: do away with obj_request in rbd_obj_read_sync() Ilya Dryomov
2017-02-14 20:11 ` [PATCH 05/15] libceph: pass reply buffer length through ceph_osdc_call() Ilya Dryomov
2017-02-14 20:11 ` [PATCH 06/15] rbd: switch rbd_obj_method_sync() to ceph_osdc_call() Ilya Dryomov
2017-02-14 20:11 ` [PATCH 07/15] rbd: remove now unused rbd_obj_request_wait() and helpers Ilya Dryomov
2017-02-14 20:11 ` [PATCH 08/15] rbd: use rbd_obj_bytes() more Ilya Dryomov
2017-02-14 20:11 ` [PATCH 09/15] rbd: introduce rbd_init_layout() Ilya Dryomov
2017-02-14 20:11 ` [PATCH 10/15] rbd: support for data-pool feature Ilya Dryomov
2017-02-14 20:12 ` [PATCH 11/15] rbd: set offset and length outside of rbd_obj_request_create() Ilya Dryomov
2017-02-14 20:12 ` [PATCH 12/15] rbd: factor out __rbd_osd_req_create() Ilya Dryomov
2017-02-14 20:12 ` [PATCH 13/15] rbd: RBD_V{1,2}_DATA_FORMAT macros Ilya Dryomov
2017-02-15 14:47   ` Jason Dillaman [this message]
2017-02-14 20:12 ` [PATCH 14/15] rbd: store and use obj_request->object_no Ilya Dryomov
2017-02-14 20:12 ` [PATCH 15/15] rbd: kill obj_request->object_name and rbd_segment_name_cache Ilya Dryomov
2017-02-15 14:53 ` [PATCH 00/15] rbd: support for data-pool + obj_request->object_no Jason Dillaman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+aFP1DPCgERzjKhneL_qdxYO3tRd_Jo_nHJzVjf9L8GEEjYJw@mail.gmail.com \
    --to=jdillama@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=dillaman@redhat.com \
    --cc=elder@ieee.org \
    --cc=idryomov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.