[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1430101.1764595523@warthog.procyon.org.uk>
Date: Mon, 01 Dec 2025 13:25:23 +0000
From: David Howells <dhowells@...hat.com>
To: Paulo Alcantara <pc@...guebit.org>,
Enzo Matsumiya <ematsumiya@...e.de>
cc: Steve French <sfrench@...ba.org>,
David Howells <dhowells@...hat.com>,
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: Can we sort out the prototypes within the cifs headers?
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
Powered by blists - more mailing lists