Re: [BISECT BUG] NFS v4 root not working after 6d972518b821 ("NFS: Add fs_context support.")

From: Krzysztof Kozlowski
Date: Fri Jan 17 2020 - 09:41:02 EST


On Fri, Jan 17, 2020 at 02:20:03PM +0000, David Howells wrote:
> You seem to be running afoul of the check here:
>
> case Opt_minorversion:
> if (result.uint_32 > NFS4_MAX_MINOR_VERSION)
> goto out_of_bounds;
> ctx->minorversion = result.uint_32;
> break;
>
> which would seem to indicate that the mount process is supplying
> minorversion=X as an option. Can you modify your kernel to print param->key
> and param->string at the top of nfs_fs_context_parse_param()? Adding
> something like:
>
> pr_notice("NFSOP '%s=%s'\n", param->key, param->string);
>
> will likely suffice unless you're directly driving the new mount API - in
> which case param->string might be things other than a string, but that's
> unlikely. It might also be NULL, but printk should handle that.

The output:

NFS-Mount: 192.168.1.10:/srv/nfs/odroidhc1
Waiting 10 seconds for device /dev/nfs ...
[ 14.652366] random: crng init done
Mount cmd:
mount.nfs4 -o vers=4,nolock 192.168.1.10:/srv/nfs/odroidhc1 /new_root
[ 22.938314] NFSOP 'source=192.168.1.10:/srv/nfs/odroidhc1'
[ 22.942638] NFSOP 'nolock=(null)'
[ 22.945772] NFSOP 'vers=4.2'
[ 22.948660] NFSOP 'addr=192.168.1.10'
[ 22.952350] NFSOP 'clientaddr=192.168.1.12'
[ 22.956831] NFS4: Couldn't follow remote path
[ 22.971001] NFSOP 'source=192.168.1.10:/srv/nfs/odroidhc1'
[ 22.975217] NFSOP 'nolock=(null)'
[ 22.978444] NFSOP 'vers=4'
[ 22.981265] NFSOP 'minorversion=1'
[ 22.984513] NFS: Value for 'minorversion' out of range
mount.nfs4: Numerical result out of range
:: running cleanup hook [udev]
ERROR: Failed to mount the real root device.
Bailing out, you are on your own. Good luck.

sh: can't access tty; job control turned off

Best regards,
Krzysztof