Re: [PATCH] Shrink fanotify_event_metadata by 32 bits

From: Alexey Zaytsev
Date: Sat Nov 20 2010 - 16:03:58 EST


Ok, just so you know, the real motivation is to use the '__u8
reserved' for an offset to the first option's header. This way we
should be able to add a reasonable number of new core fields to struct
fanotify_event_metadata, and still maintain backwards compatibility.
I'd have to add an other __u32 for that purpose, so we are actually
saving 64 bits per event with this patch.

On Sat, Nov 20, 2010 at 08:08, Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> wrote:
> There seems to be no point wasting 32 bits for either the event version or length
>
> Signed-off-by: Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx>
> ---
>
> Hi.
>
> While I'm working on the file modification events,
> please consider this patch. It obviously breaks
> the userspace ABI. But maybe that's acceptable, given
> that no kernel has ever been released with the old ABI.
>
> And the users only need to recompile their code, without
> changing anything.
>
> If we agree that this change is desirable, please make sure
> it makes it to Linus before the release. ;)
>
>
> Âinclude/linux/fanotify.h | Â Â7 ++++---
> Â1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/fanotify.h b/include/linux/fanotify.h
> index 0f01214..9a7986f 100644
> --- a/include/linux/fanotify.h
> +++ b/include/linux/fanotify.h
> @@ -86,10 +86,11 @@
> Â#define FANOTIFY_METADATA_VERSION Â Â Â2
>
> Âstruct fanotify_event_metadata {
> - Â Â Â __u32 event_len;
> - Â Â Â __u32 vers;
> - Â Â Â __aligned_u64 mask;
> + Â Â Â __u16 event_len;
> + Â Â Â __u8 vers;
> + Â Â Â __u8 reserved;
> Â Â Â Â__s32 fd;
> + Â Â Â __aligned_u64 mask;
> Â Â Â Â__s32 pid;
> Â};
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/