Re: [PATCH] nfs: simplify and guarantee owner uniqueness.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19/09/2024 02:29, NeilBrown wrote:
> On Wed, 18 Sep 2024, Steven Price wrote:
>> Hi Neil,
>>
>> (Dropping the list/others due to the attachment)
> 
> (re-adding others now - thanks for the attachment).
> 
>>
>> Attached, this is booting a kernel compiled from 00fd839ca761 ("nfs:
>> simplify and guarantee owner uniqueness.") which uses an NFS root with a
>> Debian bullseye userspace.
> 
> This shows that the owner_id was always different - or almost always.
> Once it repeated we got an error because the seqid kept increasing.
> This is because the xdr encoding is broken.
> 
> Please apply this incremental patch and confirm that it works now.

Thanks, I've tested the below and I don't see NFS errors any more.

Tested-by: Steven Price <steven.price@xxxxxxx>

Thanks,
Steve

> Thanks,
> NeilBrown
> 
> diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
> index 1aaf908acc5d..88bcbcba1381 100644
> --- a/fs/nfs/nfs4xdr.c
> +++ b/fs/nfs/nfs4xdr.c
> @@ -1429,7 +1429,7 @@ static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_opena
>  	*p++ = cpu_to_be32(28);
>  	p = xdr_encode_opaque_fixed(p, "open id:", 8);
>  	*p++ = cpu_to_be32(arg->server->s_dev);
> -	xdr_encode_hyper(p, arg->id.uniquifier);
> +	p = xdr_encode_hyper(p, arg->id.uniquifier);
>  	xdr_encode_hyper(p, arg->id.create_time);
>  }
>  





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux