[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH2r5ms9VSfTebnVe24bM7V5TVJkZgG=cOmZrxJo+RCPf1ZgtA@mail.gmail.com>
Date: Mon, 1 Dec 2025 10:55:08 -0600
From: Steve French <smfrench@...il.com>
To: David Howells <dhowells@...hat.com>
Cc: Paulo Alcantara <pc@...guebit.org>, Enzo Matsumiya <ematsumiya@...e.de>,
Steve French <sfrench@...ba.org>, Shyam Prasad N <sprasad@...rosoft.com>,
Stefan Metzmacher <metze@...ba.org>, linux-cifs@...r.kernel.org, netfs@...ts.linux.dev,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Can we sort out the prototypes within the cifs headers?
> (4) Move SMB1-specific functions out to smb1proto.h. Move SMB2/3-specific
functions out to smb2proto.h.
I am generally in favor of those type of cleanup patches (as
potentially higher priority) as we want to be able to turn off/remove
SMB1 code easily and not confuse old, less secure SMB1, with modern
dialects
On Mon, Dec 1, 2025 at 7:26 AM David Howells <dhowells@...hat.com> wrote:
>
> Hi Paulo, Enzo, et al.,
>
> You may have seen my patch:
>
> https://lore.kernel.org/linux-cifs/20251124124251.3565566-4-dhowells@redhat.com/T/#u
>
> to sort out the cifs header file prototypes, which are a bit of a mess: some
> seem to have been placed haphazardly in the headers, some have unnamed
> arguments and also sometimes the names in the .h and the .c don't match.
>
> Now Steve specifically namechecked you two as this will affect the backporting
> of patches. Whilst this only affects the prototypes in the headers and not
> the implementations in C files, it does cause chunks of the headers to move
> around.
>
> Can we agree on at least a subset of the cleanups to be made? In order of
> increasing conflictiveness, I have:
>
> (1) Remove 'extern'. cifs has a mix of externed and non-externed, but the
> documented approach is to get rid of externs on prototypes.
>
> (2) (Re)name the arguments in the prototypes to be the same as in the
> implementations.
>
> (3) Adjust the layout of each prototype to match the implementation, just
> with a semicolon on the end. My script partially does this, but moves
> the return type onto the same line as the function name.
>
> (4) Move SMB1-specific functions out to smb1proto.h. Move SMB2/3-specific
> functions out to smb2proto.h.
>
> (5) Divide the lists of prototypes (particularly the massive one in
> cifsproto.h) up into blocks according to which .c file contains the
> implementation and preface each block with a comment that indicates the
> name of the relevant .c file.
>
> The comment could then be used as a key for the script to maintain the
> division in future.
>
> (6) Sort each block by position in the .c file to make it easier to maintain
> them.
>
> A hybrid approach is also possible, where we run the script to do the basic
> sorting and then manually correct the output.
>
> David
>
>
--
Thanks,
Steve
Powered by blists - more mailing lists