On Thu, Nov 21, 2019 at 09:11:11AM +0000, David Howells wrote: > What I've been exploring is moving to: > > ITER_IOVEC = 0 > ITER_KVEC = 1, > ITER_BVEC = 2, > ITER_PIPE = 3, > ITER_DISCARD = 4, > > and using switch statements - and then leaving it to the compiler to decide > how best to do things. In some ways, it might be nice to let the compiler > decide what constants it might use for this so as to best optimise the use > cases, but there's no way to do that at the moment. I'm all in favor of that. > However, all the code that is doing direct accesses using '&' has to change to > make that work - so I've converted it all to using accessors so that I only > have to change the header file, except that the patch to do that crossed with > a cifs patch that added more direct accesses, IIRC. But I still don't really see the point of the wrappers. Maybe they are ok as a migration strategy, but in that case this patch mostly makes sense as part of the series only.