diff options
| author | Justin M. Forbes <jforbes@redhat.com> | 2012-03-26 20:22:58 -0500 |
|---|---|---|
| committer | Justin M. Forbes <jforbes@redhat.com> | 2012-03-26 20:22:58 -0500 |
| commit | 62c169cbc376249a4e1994067edc62c7b64d4c47 (patch) | |
| tree | 095edccb253747c2d04518f25e48282d34cfd4d8 /linux-3.3-newidmapper-01.patch | |
| parent | d5a077e50087def572b513c01402be19eeac933e (diff) | |
Linux v3.3-6972-ge22057c
Diffstat (limited to 'linux-3.3-newidmapper-01.patch')
| -rw-r--r-- | linux-3.3-newidmapper-01.patch | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/linux-3.3-newidmapper-01.patch b/linux-3.3-newidmapper-01.patch deleted file mode 100644 index 9afbb93f..00000000 --- a/linux-3.3-newidmapper-01.patch +++ /dev/null @@ -1,217 +0,0 @@ -commit e6499c6f4b5f56a16f8b8ef60529c1da28b13aea -Author: Bryan Schumaker <bjschuma@netapp.com> -Date: Thu Jan 26 16:54:23 2012 -0500 - - NFS: Fall back on old idmapper if request_key() fails - - This patch removes the CONFIG_NFS_USE_NEW_IDMAPPER compile option. - First, the idmapper will attempt to map the id using /sbin/request-key - and nfsidmap. If this fails (if /etc/request-key.conf is not configured - properly) then the idmapper will call the legacy code to perform the - mapping. I left a comment stating where the legacy code begins to make - it easier for somebody to remove in the future. - - Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> - Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> - -diff -up linux-3.2.noarch/fs/nfs/idmap.c.orig linux-3.2.noarch/fs/nfs/idmap.c ---- linux-3.2.noarch/fs/nfs/idmap.c.orig 2012-01-27 10:07:07.209851446 -0500 -+++ linux-3.2.noarch/fs/nfs/idmap.c 2012-01-27 10:15:42.914563082 -0500 -@@ -142,8 +142,6 @@ static int nfs_map_numeric_to_string(__u - return snprintf(buf, buflen, "%u", id); - } - --#ifdef CONFIG_NFS_USE_NEW_IDMAPPER -- - #include <linux/cred.h> - #include <linux/sunrpc/sched.h> - #include <linux/nfs4.h> -@@ -328,43 +326,7 @@ static int nfs_idmap_lookup_id(const cha - return ret; - } - --int nfs_map_name_to_uid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *uid) --{ -- if (nfs_map_string_to_numeric(name, namelen, uid)) -- return 0; -- return nfs_idmap_lookup_id(name, namelen, "uid", uid); --} -- --int nfs_map_group_to_gid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *gid) --{ -- if (nfs_map_string_to_numeric(name, namelen, gid)) -- return 0; -- return nfs_idmap_lookup_id(name, namelen, "gid", gid); --} -- --int nfs_map_uid_to_name(const struct nfs_server *server, __u32 uid, char *buf, size_t buflen) --{ -- int ret = -EINVAL; -- -- if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) -- ret = nfs_idmap_lookup_name(uid, "user", buf, buflen); -- if (ret < 0) -- ret = nfs_map_numeric_to_string(uid, buf, buflen); -- return ret; --} --int nfs_map_gid_to_group(const struct nfs_server *server, __u32 gid, char *buf, size_t buflen) --{ -- int ret = -EINVAL; -- -- if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) -- ret = nfs_idmap_lookup_name(gid, "group", buf, buflen); -- if (ret < 0) -- ret = nfs_map_numeric_to_string(gid, buf, buflen); -- return ret; --} -- --#else /* CONFIG_NFS_USE_NEW_IDMAPPER not defined */ -- -+/* idmap classic begins here */ - #include <linux/module.h> - #include <linux/mutex.h> - #include <linux/init.h> -@@ -796,19 +758,27 @@ static unsigned int fnvhash32(const void - int nfs_map_name_to_uid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *uid) - { - struct idmap *idmap = server->nfs_client->cl_idmap; -+ int ret = -EINVAL; - - if (nfs_map_string_to_numeric(name, namelen, uid)) - return 0; -- return nfs_idmap_id(idmap, &idmap->idmap_user_hash, name, namelen, uid); -+ ret = nfs_idmap_lookup_id(name, namelen, "uid", uid); -+ if (ret < 0) -+ ret = nfs_idmap_id(idmap, &idmap->idmap_user_hash, name, namelen, uid); -+ return ret; - } - --int nfs_map_group_to_gid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *uid) -+int nfs_map_group_to_gid(const struct nfs_server *server, const char *name, size_t namelen, __u32 *gid) - { - struct idmap *idmap = server->nfs_client->cl_idmap; -+ int ret = -EINVAL; - -- if (nfs_map_string_to_numeric(name, namelen, uid)) -+ if (nfs_map_string_to_numeric(name, namelen, gid)) - return 0; -- return nfs_idmap_id(idmap, &idmap->idmap_group_hash, name, namelen, uid); -+ ret = nfs_idmap_lookup_id(name, namelen, "gid", gid); -+ if (ret < 0) -+ ret = nfs_idmap_id(idmap, &idmap->idmap_group_hash, name, namelen, gid); -+ return ret; - } - - int nfs_map_uid_to_name(const struct nfs_server *server, __u32 uid, char *buf, size_t buflen) -@@ -816,22 +786,26 @@ int nfs_map_uid_to_name(const struct nfs - struct idmap *idmap = server->nfs_client->cl_idmap; - int ret = -EINVAL; - -- if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) -- ret = nfs_idmap_name(idmap, &idmap->idmap_user_hash, uid, buf); -+ if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) { -+ ret = nfs_idmap_lookup_name(uid, "user", buf, buflen); -+ if (ret < 0) -+ ret = nfs_idmap_name(idmap, &idmap->idmap_user_hash, uid, buf); -+ } - if (ret < 0) - ret = nfs_map_numeric_to_string(uid, buf, buflen); - return ret; - } --int nfs_map_gid_to_group(const struct nfs_server *server, __u32 uid, char *buf, size_t buflen) -+int nfs_map_gid_to_group(const struct nfs_server *server, __u32 gid, char *buf, size_t buflen) - { - struct idmap *idmap = server->nfs_client->cl_idmap; - int ret = -EINVAL; - -- if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) -- ret = nfs_idmap_name(idmap, &idmap->idmap_group_hash, uid, buf); -+ if (!(server->caps & NFS_CAP_UIDGID_NOMAP)) { -+ ret = nfs_idmap_lookup_name(gid, "group", buf, buflen); -+ if (ret < 0) -+ ret = nfs_idmap_name(idmap, &idmap->idmap_group_hash, gid, buf); -+ } - if (ret < 0) -- ret = nfs_map_numeric_to_string(uid, buf, buflen); -+ ret = nfs_map_numeric_to_string(gid, buf, buflen); - return ret; - } -- --#endif /* CONFIG_NFS_USE_NEW_IDMAPPER */ -diff -up linux-3.2.noarch/fs/nfs/Kconfig.orig linux-3.2.noarch/fs/nfs/Kconfig ---- linux-3.2.noarch/fs/nfs/Kconfig.orig 2012-01-04 18:55:44.000000000 -0500 -+++ linux-3.2.noarch/fs/nfs/Kconfig 2012-01-27 10:15:42.913562572 -0500 -@@ -132,14 +132,3 @@ config NFS_USE_KERNEL_DNS - select DNS_RESOLVER - select KEYS - default y -- --config NFS_USE_NEW_IDMAPPER -- bool "Use the new idmapper upcall routine" -- depends on NFS_V4 && KEYS -- help -- Say Y here if you want NFS to use the new idmapper upcall functions. -- You will need /sbin/request-key (usually provided by the keyutils -- package). For details, read -- <file:Documentation/filesystems/nfs/idmapper.txt>. -- -- If you are unsure, say N. -diff -up linux-3.2.noarch/fs/nfs/sysctl.c.orig linux-3.2.noarch/fs/nfs/sysctl.c ---- linux-3.2.noarch/fs/nfs/sysctl.c.orig 2012-01-04 18:55:44.000000000 -0500 -+++ linux-3.2.noarch/fs/nfs/sysctl.c 2012-01-27 10:15:42.914563082 -0500 -@@ -32,7 +32,6 @@ static ctl_table nfs_cb_sysctls[] = { - .extra1 = (int *)&nfs_set_port_min, - .extra2 = (int *)&nfs_set_port_max, - }, --#ifndef CONFIG_NFS_USE_NEW_IDMAPPER - { - .procname = "idmap_cache_timeout", - .data = &nfs_idmap_cache_timeout, -@@ -40,7 +39,6 @@ static ctl_table nfs_cb_sysctls[] = { - .mode = 0644, - .proc_handler = proc_dointvec_jiffies, - }, --#endif /* CONFIG_NFS_USE_NEW_IDMAPPER */ - #endif - { - .procname = "nfs_mountpoint_timeout", -diff -up linux-3.2.noarch/include/linux/nfs_idmap.h.orig linux-3.2.noarch/include/linux/nfs_idmap.h ---- linux-3.2.noarch/include/linux/nfs_idmap.h.orig 2012-01-27 10:06:46.783643915 -0500 -+++ linux-3.2.noarch/include/linux/nfs_idmap.h 2012-01-27 10:15:42.915563594 -0500 -@@ -69,36 +69,11 @@ struct nfs_server; - struct nfs_fattr; - struct nfs4_string; - --#ifdef CONFIG_NFS_USE_NEW_IDMAPPER -- - int nfs_idmap_init(void); - void nfs_idmap_quit(void); -- --static inline int nfs_idmap_new(struct nfs_client *clp) --{ -- return 0; --} -- --static inline void nfs_idmap_delete(struct nfs_client *clp) --{ --} -- --#else /* CONFIG_NFS_USE_NEW_IDMAPPER not set */ -- --static inline int nfs_idmap_init(void) --{ -- return 0; --} -- --static inline void nfs_idmap_quit(void) --{ --} -- - int nfs_idmap_new(struct nfs_client *); - void nfs_idmap_delete(struct nfs_client *); - --#endif /* CONFIG_NFS_USE_NEW_IDMAPPER */ -- - void nfs_fattr_init_names(struct nfs_fattr *fattr, - struct nfs4_string *owner_name, - struct nfs4_string *group_name); |
