All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank van Maarseveen <frankvm@frankvm.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Linux NFS mailing list <nfs@lists.sourceforge.net>
Subject: patch for using >16 groups on 2.6.x client
Date: Wed, 9 Feb 2005 00:44:26 +0100	[thread overview]
Message-ID: <20050208234426.GA27766@janus> (raw)

Trond,

We all know that this annoying limit of 16 groups exists for AUTH_UNIX
authentication. In 2.6 the 32 groups kernel limit has even be removed
(essentially). It is unfortunate that this cannot be used over NFS in
many situations with linux, contrary to some other UNIXes such as tru64:
Tru64 has no 16 groups limit (its 32 on NFS there, using ONC RPC). Linux
supporting less with AUTH_UNIX hurts ;)

The many-groups patch tries to resolve this issue for the linux NFS
client (NFSv2 and NFSv3 for now), essentially removing this (IMHO silly)
limit. It has been written not to change behavior unless the current
process is a member of more than 16 groups. And in that case AUTH_UNIX
is broken anyway. The patch has been rewritten completely in order to
get rid of the uglyness discussed a long time ago.

The total patch consists of about 22 fragments of which a few (broken_suid
cleanup) have already been posted. But I didn't see the broken_suid
cleanup appear on www.linux-nfs.org though you said that you would take
such a patch. Any news on that one?

The parts below should be applied in order but after every single patch
the result will compile and should behave properly (2.6.11-rc3). All
patches < #30 may be useful anyway as cleanup because they only prepare
things. Patch 30:

	http://www.frankvm.com/nfs-ngroups/2.6.11/30.patch

is the most interesting one w.r.t. to understanding how it affects the
structure of the NFS client. See also the README in that directory. This
is a short description:

Posted:
#	comment
01	sunrpc cleanup, introduction of RPC_MAXGROUPS (16)
10	remove broken_suid mount option (1/2)
20	remove broken_suid mount option (2/2)

Trivial (unrelated) cleanup:
25	simplification: remove redundant and asymmetric get/put_rpccred()

Preparational things (cleanup, simplify):
26	simplify rpcauth credential code
27	comment fixes.
28	proc.c preparation
29	nfs3proc.c preparation

Core change:
30	Introduction of rpc_ngroups, unx_add_groups()

Slowly merge the new feature, don't enable yet:
40	add rpcauth_lookupcred() calls to nfs2_rpc() and nfs3_rpc().
	feature for all nfsx_rpc() callers for now.
41	nfs_open (open, opendir)
42	nfs_create
43	nfs_lookup (touches nfs_mknod, nfs_mkdir and nfs_symlink via nfs_instantiate)
44	nfs_link
45	nfs_unlink/nfs_rmdir (remove, rmdir)
46	nfs_symlink
47	nfs_mkdir
48	nfs_mknod (v2:create)
49	nfs_rename
50	nfs_permission (access) + dfprintk() reporting nfsx_proc_access result.
51	nfs_setattr

And finally enable it:
70	Enable the new code for NFSv2 and NFSv3.


I could make all these patches apply on top of
http://www.linux-nfs.org/Linux-2.6.x/2.6.11-rc3 and feed them slowly to
the list if you would like that.

NFSv4 requires some more work. I guess that a patch on NFSv4 will be
the least likely one to get merged so I've postponed it for now.

-- 
Frank


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

             reply	other threads:[~2005-02-08 23:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-08 23:44 Frank van Maarseveen [this message]
2005-02-09  3:53 ` patch for using >16 groups on 2.6.x client Trond Myklebust

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050208234426.GA27766@janus \
    --to=frankvm@frankvm.com \
    --cc=nfs@lists.sourceforge.net \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.