Re: [PATCH 1/6] relay: allow the use of const callback structs

From: Christoph Hellwig
Date: Thu Nov 19 2020 - 03:11:28 EST


> +/*
> + * rchan_callback wrappers. Call the callbacks if available, otherwise fall back
> + * to default behaviour.
> + */

This adds an overly long line. That being said this behavior is pretty
normal for kernel APIs, so I'm not even sure we need it at all.

> +
> +/*
> + * subbuf_start() callback.
> + */

and this one is for sure completley useless. Same for all the other
similar ones.


But taking one step back: All instances implement create_buf_file
and remove_buf_file, which makes sense as that is the prime aim
of these methods. So there is no point in making those optional.
subbuf_start_callback is overriden by two instances, so making that
optional totally makes sense. buf_mapped and buf_unmapped are
never overriden, so they should be removed entirely.

More importantly there is no case that passes a NULL rchan_callbacks,
which makes complete sense as it wouldn't even create a file. So
remove that case as well and just replace it with a sanity check in
relay_open().

Please also add a patch to mark all rchan_callbacks instances const
while you're at it.