Matthew Wilcox <willy@xxxxxxxxxxxxx> writes: > On Sat, Jun 01, 2024 at 10:01:40AM -0600, Keith Busch wrote: >> It's fine, just wondering why it's there. But it also allows values like >> 1536 and 3584, which are not valid block sizes, so I think you want the >> check to be: >> >> if !(512..=4096).contains(&block_size) || ((block_size & (block_size - 1)) != 0) > > I'd drop the range check. We're pretty close to landing the bs>PS > patches, so just > > if block_size & block_size - 1 != 0 > > should be enough of a validation. Is it safe to do so already? Otherwise we just remove it when it is safe, no biggie. > Is it considered "good style" in > Rust to omit the brackets here? Yes, the compiler will complain if you add parenthesis here. ```rust fn main() { if (true) { return; } } ``` Building this will give you: ```text warning: unnecessary parentheses around `if` condition --> src/main.rs:2:8 | 2 | if (true) { | ^ ^ | = note: `#[warn(unused_parens)]` on by default help: remove these parentheses | 2 - if (true) { 2 + if true { | warning: `playground` (bin "playground") generated 1 warning (run `cargo fix --bin "playground"` to apply 1 suggestion) Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.64s Running `target/debug/playground` ``` If you omit the `{}` block after the `if` it is a syntax error. Best regards, Andreas