On Thu, May 21, 2020 at 10:34:42AM +0200, Christoph Hellwig wrote: > On Wed, May 20, 2020 at 08:39:13PM -0300, Marcelo Ricardo Leitner wrote: > > On Wed, May 20, 2020 at 04:23:55PM -0700, David Miller wrote: > > > From: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> > > > Date: Wed, 20 May 2020 20:10:01 -0300 > > > > > > > The duplication with sctp_setsockopt_nodelay() is quite silly/bad. > > > > Also, why have the 'true' hardcoded? It's what dlm uses, yes, but the > > > > API could be a bit more complete than that. > > > > > > The APIs are being designed based upon what in-tree users actually > > > make use of. We can expand things later if necessary. > > > > Sometimes expanding things later can be though, thus why the worry. > > But ok, I get it. Thanks. > > > > The comment still applies, though. (re the duplication) > > Where do you see duplication? > > sctp_setsockopt_nodelay does the following things: > > - verifies optlen, returns -EINVAL if it doesn't match > - calls get_user, returns -EFAULT on error > - converts the value from get_user to a boolean and assigns it > to sctp_sk(sk)->nodelay > - returns 0. > > sctp_sock_set_nodelay does: > > - call lock_sock > - assign true to sctp_sk(sk)->nodelay > - call release_sock > - does not return an error code With the patch there are now two ways of enabling nodelay. It may be just a boolean set today, but if one wants to probe on it or if we want to extend it with anything, say a debug msg, we have to do it in two (very different) places.