netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
To: Quentin Monnet <quentin@isovalent.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Networking <netdev@vger.kernel.org>, bpf <bpf@vger.kernel.org>
Subject: Re: [PATCH bpf-next 4/6] libbpf: explicitly mark btf__load() and btf__get_from_id() as deprecated
Date: Thu, 15 Jul 2021 21:42:50 -0700	[thread overview]
Message-ID: <CAEf4BzbXA5ZQCzLoY+r8XjSXNzBYtUiYh1aXo0O+TvO8JXvDQQ@mail.gmail.com> (raw)
In-Reply-To: <20210714141532.28526-5-quentin@isovalent.com>

On Wed, Jul 14, 2021 at 7:15 AM Quentin Monnet <quentin@isovalent.com> wrote:
>
> Now that we have replacement functions for btf__load() and
> btf__get_from_id(), with names that better reflect what the functions
> do, and that we have updated the different tools in the repository
> calling the legacy functions, let's explicitly mark those as deprecated.
>
> References:
>
> - https://github.com/libbpf/libbpf/issues/278
> - https://github.com/libbpf/libbpf/wiki/Libbpf:-the-road-to-v1.0#btfh-apis
>
> Signed-off-by: Quentin Monnet <quentin@isovalent.com>
> ---
>  tools/lib/bpf/btf.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tools/lib/bpf/btf.h b/tools/lib/bpf/btf.h
> index 0bd9d3952d19..522277b16a88 100644
> --- a/tools/lib/bpf/btf.h
> +++ b/tools/lib/bpf/btf.h
> @@ -45,7 +45,8 @@ LIBBPF_API struct btf *btf__parse_raw(const char *path);
>  LIBBPF_API struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf);
>
>  LIBBPF_API int btf__finalize_data(struct bpf_object *obj, struct btf *btf);
> -LIBBPF_API int btf__load(struct btf *btf);
> +LIBBPF_API LIBBPF_DEPRECATED("the name was confusing and will be removed in the future libbpf versions, please use btf__load_into_kernel() instead")
> +int btf__load(struct btf *btf);

So I learned from my previous attempts to deprecate libbpf API to
never do that in the same release that introduces a replacement API.
So I'll postpone this change till the next libbpf release, otherwise
it causes too much churn and frustration for existing users.

And I'd probably keep the message short, like "use
btf__load_into_kernel() instead".

>  LIBBPF_API int btf__load_into_kernel(struct btf *btf);
>  LIBBPF_API __s32 btf__find_by_name(const struct btf *btf,
>                                    const char *type_name);
> @@ -67,7 +68,8 @@ LIBBPF_API void btf__set_fd(struct btf *btf, int fd);
>  LIBBPF_API const void *btf__get_raw_data(const struct btf *btf, __u32 *size);
>  LIBBPF_API const char *btf__name_by_offset(const struct btf *btf, __u32 offset);
>  LIBBPF_API const char *btf__str_by_offset(const struct btf *btf, __u32 offset);
> -LIBBPF_API int btf__get_from_id(__u32 id, struct btf **btf);
> +LIBBPF_API LIBBPF_DEPRECATED("the name was confusing and will be removed in the future libbpf versions, please use btf__load_from_kernel_by_id() instead")
> +int btf__get_from_id(__u32 id, struct btf **btf);
>  LIBBPF_API int btf__load_from_kernel_by_id(__u32 id, struct btf **btf);
>  LIBBPF_API int btf__get_map_kv_tids(const struct btf *btf, const char *map_name,
>                                     __u32 expected_key_size,
> --
> 2.30.2
>

  reply	other threads:[~2021-07-16  4:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-14 14:15 [PATCH bpf-next 0/6] libbpf: rename btf__get_from_id() and btf__load() APIs, support split BTF Quentin Monnet
2021-07-14 14:15 ` [PATCH bpf-next 1/6] libbpf: rename btf__load() as btf__load_into_kernel() Quentin Monnet
2021-07-16  4:32   ` Andrii Nakryiko
2021-07-21 15:36     ` Quentin Monnet
2021-07-14 14:15 ` [PATCH bpf-next 2/6] libbpf: rename btf__get_from_id() as btf__load_from_kernel_by_id() Quentin Monnet
2021-07-16  4:35   ` Andrii Nakryiko
2021-07-14 14:15 ` [PATCH bpf-next 3/6] tools: replace btf__get_from_id() with btf__load_from_kernel_by_id() Quentin Monnet
2021-07-14 14:15 ` [PATCH bpf-next 4/6] libbpf: explicitly mark btf__load() and btf__get_from_id() as deprecated Quentin Monnet
2021-07-16  4:42   ` Andrii Nakryiko [this message]
2021-07-14 14:15 ` [PATCH bpf-next 5/6] libbpf: add split BTF support for btf__load_from_kernel_by_id() Quentin Monnet
2021-07-16  4:44   ` Andrii Nakryiko
2021-07-14 14:15 ` [PATCH bpf-next 6/6] tools: bpftool: support dumping split BTF by id Quentin Monnet
2021-07-16  3:28 ` [PATCH bpf-next 0/6] libbpf: rename btf__get_from_id() and btf__load() APIs, support split BTF John Fastabend

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=CAEf4BzbXA5ZQCzLoY+r8XjSXNzBYtUiYh1aXo0O+TvO8JXvDQQ@mail.gmail.com \
    --to=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=netdev@vger.kernel.org \
    --cc=quentin@isovalent.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).