Re: [PATCH v3 3/3] nfs: refactor nfs_errorf macros and remove unused ones

From: Sean Chang

Date: Thu Mar 19 2026 - 11:09:46 EST


On Thu, Mar 19, 2026 at 10:41 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxx> wrote:
>
> On Thu, Mar 19, 2026 at 10:18:46PM +0800, Sean Chang wrote:
> > refactor nfs_errorf() and nfs_ferrorf() to the standard do-while(0)
> > pattern for safer macro expansion and kernel style compliance.
> >
> > additionally, remove nfs_warnf() and nfs_fwarnf() as git grep
> > confirms they have no callers in the current tree.
>
> ...
>
> > #define nfs_invalf(fc, fmt, ...) ((fc)->log.log ? \
> > invalf(fc, fmt, ## __VA_ARGS__) : \
>
> > invalf(fc, fmt, ## __VA_ARGS__) : \
> > ({ dfprintk(fac, fmt "\n", ## __VA_ARGS__); -EINVAL; }))
>
> Why not all of them?
>

I initially only refactored nfs_errorf because it doesn't return a value.
For nfs_invalf, it will always return -EINVAL. Would you prefer me to
refactor it using the ({ ... }) statement expression pattern to keep the
return value, or is it better to leave it as is ?

#define nfs_invalf(fc, fmt, ...) ({ \
if ((fc)->log.log) \
invalf(fc, fmt, ## __VA_ARGS__); \
else \
dfprintk(fac, fmt "\n", ## __VA_ARGS__);\
-EINVAL; \
})