[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211021001401.p65y2yx75d42splb@ast-mbp.dhcp.thefacebook.com>
Date: Wed, 20 Oct 2021 17:14:01 -0700
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Lorenz Bauer <lmb@...udflare.com>
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
kernel-team@...udflare.com, netdev@...r.kernel.org,
bpf@...r.kernel.org
Subject: Re: [PATCH bpf-next 0/2] Support RENAME_EXCHANGE on bpffs
On Wed, Oct 20, 2021 at 09:29:54AM +0100, Lorenz Bauer wrote:
> Add support for renameat2(RENAME_EXCHANGE) on bpffs. This is useful
> for atomic upgrades of our sk_lookup control plane.
>
> * Create a temporary directory on bpffs
> * Migrate maps and pin them into temporary directory
> * Load new sk_lookup BPF, attach it and pin the link into temp dir
> * renameat2(temp dir, state dir, RENAME_EXCHANGE)
> * rmdir temp dir
>
> Due to the sk_lookup semantics this means we can never end up in a
> situation where an upgrade breaks the existing control plane.
That is a cool idea.
The selftest doesn't exercise all of this logic.
It's only testing that RENAME_EXCHANGE works on directories within bpffs.
Do we need a test for other types of paths?
Powered by blists - more mailing lists