Re: [RFC PATCH v3 35/37] tools: Add FUSE, update bpf includes

From: Andrii Nakryiko
Date: Thu Apr 27 2023 - 00:25:07 EST


On Mon, Apr 17, 2023 at 6:42 PM Daniel Rosenberg <drosen@xxxxxxxxxx> wrote:
>
> Updates the bpf includes under tools, and adds fuse
>
> Signed-off-by: Daniel Rosenberg <drosen@xxxxxxxxxx>
> ---
> tools/include/uapi/linux/bpf.h | 12 +
> tools/include/uapi/linux/fuse.h | 1135 +++++++++++++++++++++++++++++++
> 2 files changed, 1147 insertions(+)
> create mode 100644 tools/include/uapi/linux/fuse.h
>
> diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h
> index 4b20a7269bee..6521c40875c7 100644
> --- a/tools/include/uapi/linux/bpf.h
> +++ b/tools/include/uapi/linux/bpf.h
> @@ -7155,4 +7155,16 @@ struct bpf_iter_num {
> __u64 __opaque[1];
> } __attribute__((aligned(8)));
>
> +/* Return Codes for Fuse BPF struct_op programs */
> +#define BPF_FUSE_CONTINUE 0
> +#define BPF_FUSE_USER 1
> +#define BPF_FUSE_USER_PREFILTER 2
> +#define BPF_FUSE_POSTFILTER 3
> +#define BPF_FUSE_USER_POSTFILTER 4

nit: can this be an enum instead? It would be more self-documenting,
IMO. At given it's FUSE BPF-specific, why is it not in
uapi/linux/fuse.h?

> +
> +/* Op Code Filter values for BPF Programs */
> +#define FUSE_OPCODE_FILTER 0x0ffff
> +#define FUSE_PREFILTER 0x10000
> +#define FUSE_POSTFILTER 0x20000
> +

[...]