The splice fd might have been closed, and a double-close here shouldn't
be a concern because we're not doing any interesting multithreaded
things and it's local to this function.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fix 32 bit build - the rust side doesn't use this type:
error: builder for '/nix/store/zpk4nnya8qmiwgylhv5q71887kqqyp4d-bcachefs-tools-i686-unknown-linux-gnu-1.25.1+3304c90.drv' failed with exit code 2;
last 25 log lines:
> error[E0588]: packed type cannot transitively contain a `#[repr(align)]` type
> --> /build/source/target/i686-unknown-linux-gnu/release/build/bch_bindgen-c913367861ffd851/out/bcachefs.rs:27492:1
> |
> 27492 | pub struct bch_ioctl_data_event {
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> |
> note: `bch_ioctl_data_progress` has a `#[repr(align)]` attribute
> --> /build/source/target/i686-unknown-linux-gnu/release/build/bch_bindgen-c913367861ffd851/out/bcachefs.rs:27373:1
> |
> 27373 | pub struct bch_ioctl_data_progress {
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> note: `bch_ioctl_data_event` contains a field of type `bch_ioctl_data_event__bindgen_ty_1`
> --> /build/source/target/i686-unknown-linux-gnu/release/build/bch_bindgen-c913367861ffd851/out/bcachefs.rs:27496:9
> |
> 27496 | pub __bindgen_anon_1: bch_ioctl_data_event__bindgen_ty_1,
> | ^^^^^^^^^^^^^^^^
> note: ...which contains a field of type `bch_ioctl_data_progress`
> --> /build/source/target/i686-unknown-linux-gnu/release/build/bch_bindgen-c913367861ffd851/out/bcachefs.rs:27501:9
> |
> 27501 | pub p: bch_ioctl_data_progress,
> | ^
>
> For more information about this error, try `rustc --explain E0588`.
> error: could not compile `bch_bindgen` (lib) due to 1 previous error
> make: *** [Makefile:185: bcachefs] Error 101
For full logs, run 'nix log /nix/store/zpk4nnya8qmiwgylhv5q71887kqqyp4d-bcachefs-tools-i686-unknown-linux-gnu-1.25.1+3304c90.drv'.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Add an option for controlling whether we create a third redundant
superblock at the end of the device.
For image files that are going to immediately be resized, we want to
skip this.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Non power of two bucket sizes are allowed - but not preferred.
We were accidentally picking bucket sizes that weren't blocksize
aligned - ouch.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
- we can now correctly open by parsing sysfs, instead of falling back to
reading the superblock and grabbing the UUID
- non-UUID filesystem names now work
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Since commit 3666da87f249b23b2c1f506e0d4157fd56c543e2
the Makefile fully replaced RUSTFLAGS which users might want
to modify e.g. to use other linkers via -Clinker=*
With single device mode we won't always show up in sysfs by UUID, but
the new VFS ioctl handles this nicely.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Add a helper to check for close errrors - especially bad file
descriptors, that can be a fun source of heisenbugs.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This patch adds the missing "fs top" command to manual.
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Do only what is minimally necessary for these checks to pass, I guess.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
It is otherwise inconvenient or maybe in other cases even impossible to
have clippy pass with both the current Rust version as well as the MSRV
Rust version. (e.g. `clippy::missing_transmute_annotations` is not yet
known to our current MSRV.)
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This way bch_bindgen actually gets used by various cargo subcommands,
like clippy.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Makes it way easier to identify CI failures for people who try to use
github for contributions.
Signed-off-by: Thomas Mühlbacher <tmuehlbacher@posteo.net>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Add the missing usage function for "fs" subcommand; when no matching
subcommand exists, print the usage and return -EINVAL.
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This needed an access() check, like the other uses, instead of exiting
if it can't be read.
Factor out a small common helper for this.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
When BCACHEFS_FUSE is disabled or not defined, FUSE section shouldn't
be displayed in bcachefs usage (--help).
Signed-off-by: Integral <integral@archlinuxcn.org>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>