public inbox for netfs@lists.linux.dev
 help / color / mirror / Atom feed
* Can we sort out the prototypes within the cifs headers?
@ 2025-12-01 13:25 David Howells
  2025-12-01 16:55 ` Steve French
  2025-12-01 17:30 ` Enzo Matsumiya
  0 siblings, 2 replies; 5+ messages in thread
From: David Howells @ 2025-12-01 13:25 UTC (permalink / raw)
  To: Paulo Alcantara, Enzo Matsumiya
  Cc: Steve French, David Howells, Shyam Prasad N, Stefan Metzmacher,
	linux-cifs, netfs, linux-fsdevel, linux-kernel

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-01-02 18:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-01 13:25 Can we sort out the prototypes within the cifs headers? David Howells
2025-12-01 16:55 ` Steve French
2025-12-01 17:30 ` Enzo Matsumiya
2025-12-01 18:16   ` Steve French
2026-01-02 18:43   ` David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox