lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4798F9BC.4040405@oracle.com>
Date:	Thu, 24 Jan 2008 15:49:00 -0500
From:	Chuck Lever <chuck.lever@...cle.com>
To:	Miklos Szeredi <miklos@...redi.hu>
CC:	akpm@...ux-foundation.org, linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Trond Myklebust <Trond.Myklebust@...app.com>
Subject: Re: [patch 21/26] mount options: partially fix nfs

Hi Miklos-

Miklos Szeredi wrote:
> From: Miklos Szeredi <mszeredi@...e.cz>
> 
> Add posix, bsize=, namelen= options to /proc/mounts for nfs
> filesystems.
> 
> Document several other options that are still missing.

NFS lists only some options in /proc/mounts on purpose: only the 
essential options are mentioned there to keep clutter down.  The three 
you've added here are for all intents and purposes deprecated, which is 
why they are not supported.

NFS lists a more complete set of mount options for a mount point in 
/proc/self/mountstats.  See nfs_show_stats().

Since your cover letter does not explain why you are changing this code, 
can you refer me to a description of why you are doing this?

More below.

> Signed-off-by: Miklos Szeredi <mszeredi@...e.cz>
> ---
> 
> Index: linux/fs/nfs/super.c
> ===================================================================
> --- linux.orig/fs/nfs/super.c	2008-01-19 11:56:34.000000000 +0100
> +++ linux/fs/nfs/super.c	2008-01-21 20:41:30.000000000 +0100
> @@ -449,6 +449,7 @@ static void nfs_show_mount_options(struc
>  	} nfs_info[] = {
>  		{ NFS_MOUNT_SOFT, ",soft", ",hard" },
>  		{ NFS_MOUNT_INTR, ",intr", ",nointr" },
> +		{ NFS_MOUNT_POSIX, ",posix", "" },
>  		{ NFS_MOUNT_NOCTO, ",nocto", "" },
>  		{ NFS_MOUNT_NOAC, ",noac", "" },
>  		{ NFS_MOUNT_NONLM, ",nolock", "" },
> @@ -459,10 +460,17 @@ static void nfs_show_mount_options(struc
>  	};
>  	const struct proc_nfs_info *nfs_infop;
>  	struct nfs_client *clp = nfss->nfs_client;
> +	unsigned int default_namelen =
> +		clp->rpc_ops->version == 4 ? NFS4_MAXNAMLEN :
> +		clp->rpc_ops->version == 3 ? NFS3_MAXNAMLEN : NFS2_MAXNAMLEN;
>  
>  	seq_printf(m, ",vers=%d", clp->rpc_ops->version);
>  	seq_printf(m, ",rsize=%d", nfss->rsize);
>  	seq_printf(m, ",wsize=%d", nfss->wsize);
> +	if (nfss->bsize != 0)
> +		seq_printf(m, ",bsize=%d", nfss->bsize);
> +	if (nfss->namelen != default_namelen)
> +		seq_printf(m, ",namelen=%d", nfss->namelen);
>  	if (nfss->acregmin != 3*HZ || showdefaults)
>  		seq_printf(m, ",acregmin=%d", nfss->acregmin/HZ);
>  	if (nfss->acregmax != 60*HZ || showdefaults)
> @@ -482,6 +490,18 @@ static void nfs_show_mount_options(struc
>  	seq_printf(m, ",timeo=%lu", 10U * nfss->client->cl_timeout->to_initval / HZ);
>  	seq_printf(m, ",retrans=%u", nfss->client->cl_timeout->to_retries);
>  	seq_printf(m, ",sec=%s", nfs_pseudoflavour_to_name(nfss->client->cl_auth->au_flavor));
> +
> +	/*
> +	 * Missing options:
> +	 * port=

Probably should be supported.

> +	 * addr=

This one is already supported; see nfs_show_options().

> +	 * clientaddr=

This one isn't, and should be... would be useful for tracking down 
certain NFSv4 problems.

> +	 * mounthost=
> +	 * mountaddr=
 > +	 * mountport=
 > +	 * mountvers=
 > +	 * mountproto=

And these mount* options are for the kernel's new mount protocol client. 
  They aren't really useful for understanding steady-state NFS client 
behavior, they only effect mount-time behavior.

View attachment "chuck_lever.vcf" of type "text/x-vcard" (316 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ