Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5855fec authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFS: Fix port and mountport display in /proc/self/mountinfo



Currently, the port and mount port will both display as 65535 if you do not
specify a port number. That would be wrong...

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent c5811dbd
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -778,15 +778,13 @@ static int nfs_verify_server_address(struct sockaddr *addr)
 * Select between a default port value and a user-specified port value.
 * If a zero value is set, then autobind will be used.
 */
static void nfs_set_default_port(struct sockaddr *sap, const int parsed_port,
static void nfs_set_port(struct sockaddr *sap, int *port,
				 const unsigned short default_port)
{
	unsigned short port = default_port;
	if (*port == NFS_UNSPEC_PORT)
		*port = default_port;

	if (parsed_port != NFS_UNSPEC_PORT)
		port = parsed_port;

	rpc_set_port(sap, port);
	rpc_set_port(sap, *port);
}

/*
@@ -1477,7 +1475,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
		args->mount_server.addrlen = args->nfs_server.addrlen;
	}
	request.salen = args->mount_server.addrlen;
	nfs_set_default_port(request.sap, args->mount_server.port, 0);
	nfs_set_port(request.sap, &args->mount_server.port, 0);

	/*
	 * Now ask the mount server to map our export path
@@ -1767,7 +1765,7 @@ static int nfs_validate_mount_data(void *options,
			goto out_v4_not_compiled;
#endif

		nfs_set_default_port(sap, args->nfs_server.port, 0);
		nfs_set_port(sap, &args->nfs_server.port, 0);

		nfs_set_mount_transport_protocol(args);

@@ -2331,7 +2329,7 @@ static int nfs4_validate_text_mount_data(void *options,
{
	struct sockaddr *sap = (struct sockaddr *)&args->nfs_server.address;

	nfs_set_default_port(sap, args->nfs_server.port, NFS_PORT);
	nfs_set_port(sap, &args->nfs_server.port, NFS_PORT);

	nfs_validate_transport_protocol(args);