[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e0a78e58-1b83-47f2-b030-52539cf63ff8@kernel.org>
Date: Tue, 28 Oct 2025 20:33:27 +0100
From: Danilo Krummrich <dakr@...nel.org>
To: Alice Ryhl <aliceryhl@...gle.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Yury Norov <yury.norov@...il.com>, Arve Hjønnevåg
<arve@...roid.com>, Todd Kjos <tkjos@...roid.com>,
Martijn Coenen <maco@...roid.com>, Joel Fernandes <joelagnelf@...dia.com>,
Christian Brauner <brauner@...nel.org>, Carlos Llamas <cmllamas@...gle.com>,
Suren Baghdasaryan <surenb@...gle.com>, Burak Emir <bqe@...gle.com>,
Miguel Ojeda <ojeda@...nel.org>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>, Björn Roy Baron
<bjorn3_gh@...tonmail.com>, Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>, Trevor Gross <tmgross@...ch.edu>,
rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 4/5] rust: id_pool: do not immediately acquire new ids
On 10/28/25 11:55 AM, Alice Ryhl wrote:
> +/// Represents an unused id in an [`IdPool`].
> +pub struct UnusedId<'pool> {
> + id: usize,
> + pool: &'pool mut IdPool,
> +}
> +
> +impl<'pool> UnusedId<'pool> {
> + /// Get the unused id as an usize.
> + ///
> + /// Be aware that the id has not yet been acquired in the pool. The
> + /// [`acquire`] method must be called to prevent others from taking the id.
> + #[inline]
> + #[must_use]
> + pub fn as_usize(&self) -> usize {
> + self.id
> + }
> +
> + /// Get the unused id as an u32.
> + ///
> + /// Be aware that the id has not yet been acquired in the pool. The
> + /// [`acquire`] method must be called to prevent others from taking the id.
> + #[inline]
> + #[must_use]
> + pub fn as_u32(&self) -> u32 {
> + // CAST: The maximum possible value in an IdPool is i32::MAX.
I think this should rather be an invariant of `UnusedId`.
Reviewed-by: Danilo Krummrich <dakr@...nel.org>
> + self.id as u32
> + }
Powered by blists - more mailing lists