NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.
SUNRPC has two sorts of credentials, both of which appear as "struct rpc_cred". There are "generic credentials" which are supplied by clients such as NFS and passed in 'struct rpc_message' to indicate which user should be used to authorize the request, and there are low-level credentials such as AUTH_NULL, AUTH_UNIX, AUTH_GSS which describe the credential to be sent over the wires. This patch replaces all the generic credentials by 'struct cred' pointers - the credential structure used throughout Linux. For machine credentials, there is a special 'struct cred *' pointer which is statically allocated and recognized where needed as having a special meaning. A look-up of a low-level cred will map this to a machine credential. Signed-off-by: NeilBrown <neilb@suse.com> Acked-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
committed by
Anna Schumaker
parent
684f39b4cf
commit
a52458b48a
@@ -270,7 +270,7 @@ struct nfs4_layoutget_res {
|
||||
struct nfs4_layoutget {
|
||||
struct nfs4_layoutget_args args;
|
||||
struct nfs4_layoutget_res res;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
gfp_t gfp_flags;
|
||||
};
|
||||
|
||||
@@ -309,7 +309,7 @@ struct nfs4_layoutcommit_data {
|
||||
struct rpc_task task;
|
||||
struct nfs_fattr fattr;
|
||||
struct list_head lseg_list;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct inode *inode;
|
||||
struct nfs4_layoutcommit_args args;
|
||||
struct nfs4_layoutcommit_res res;
|
||||
@@ -334,7 +334,7 @@ struct nfs4_layoutreturn_res {
|
||||
struct nfs4_layoutreturn {
|
||||
struct nfs4_layoutreturn_args args;
|
||||
struct nfs4_layoutreturn_res res;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct nfs_client *clp;
|
||||
struct inode *inode;
|
||||
int rpc_status;
|
||||
@@ -1469,7 +1469,7 @@ enum {
|
||||
struct nfs_io_completion;
|
||||
struct nfs_pgio_header {
|
||||
struct inode *inode;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct list_head pages;
|
||||
struct nfs_page *req;
|
||||
struct nfs_writeverf verf; /* Used for writes */
|
||||
@@ -1529,7 +1529,7 @@ struct nfs_commit_info {
|
||||
struct nfs_commit_data {
|
||||
struct rpc_task task;
|
||||
struct inode *inode;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct nfs_fattr fattr;
|
||||
struct nfs_writeverf verf;
|
||||
struct list_head pages; /* Coalesced requests we wish to flush */
|
||||
@@ -1560,7 +1560,7 @@ struct nfs_unlinkdata {
|
||||
struct nfs_removeres res;
|
||||
struct dentry *dentry;
|
||||
wait_queue_head_t wq;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct nfs_fattr dir_attr;
|
||||
long timeout;
|
||||
};
|
||||
@@ -1568,7 +1568,7 @@ struct nfs_unlinkdata {
|
||||
struct nfs_renamedata {
|
||||
struct nfs_renameargs args;
|
||||
struct nfs_renameres res;
|
||||
struct rpc_cred *cred;
|
||||
const struct cred *cred;
|
||||
struct inode *old_dir;
|
||||
struct dentry *old_dentry;
|
||||
struct nfs_fattr old_fattr;
|
||||
|
||||
Reference in New Issue
Block a user