Re: [PATCH v2] nfsd: Use correct error code when decoding extents

From: Chuck Lever
Date: Thu Jun 12 2025 - 09:14:01 EST


On 6/12/25 3:00 AM, Christoph Hellwig wrote:
> On Wed, Jun 11, 2025 at 11:55:02PM +0300, Sergey Bashirov wrote:
>> if (nr_iomaps < 0)
>> - return nfserrno(nr_iomaps);
>> + return cpu_to_be32(-nr_iomaps);
>
> This still feels like an odd calling convention. Maybe we should just
> change the calling convention to return the __be32 encoded nfs errno
> and have a separate output argument for the number of iomaps?
>
> Chuck, any preference?
>

I thought of using an output argument. This calling convention is not
uncommon in NFS code, and I recall that Linus might prefer avoiding
output arguments?

If I were writing fresh code, I think I would use an output argument
instead of folding results of two different types into a function's
return value.

--
Chuck Lever