History

Merge branch 'for-3.17' of git://linux-nfs.org/~bfields/linux

Pull nfsd updates from Bruce Fields: "This includes a major rewrite of the NFSv4 state code, which has always depended on a single mutex. As an example, open creates are no longer serialized, fixing a performance regression on NFSv3->NFSv4 upgrades. Thanks to Jeff, Trond, and Benny, and to Christoph for review. Also some RDMA fixes from Chuck Lever and Steve Wise, and miscellaneous fixes from Kinglong Mee and others" * 'for-3.17' of git://linux-nfs.org/~bfields/linux: (167 commits) svcrdma: remove rdma_create_qp() failure recovery logic nfsd: add some comments to the nfsd4 object definitions nfsd: remove the client_mutex and the nfs4_lock/unlock_state wrappers nfsd: remove nfs4_lock_state: nfs4_state_shutdown_net nfsd: remove nfs4_lock_state: nfs4_laundromat nfsd: Remove nfs4_lock_state(): reclaim_complete() nfsd: Remove nfs4_lock_state(): setclientid, setclientid_confirm, renew nfsd: Remove nfs4_lock_state(): exchange_id, create/destroy_session() nfsd: Remove nfs4_lock_state(): nfsd4_open and nfsd4_open_confirm nfsd: Remove nfs4_lock_state(): nfsd4_delegreturn() nfsd: Remove nfs4_lock_state(): nfsd4_open_downgrade + nfsd4_close nfsd: Remove nfs4_lock_state(): nfsd4_lock/locku/lockt() nfsd: Remove nfs4_lock_state(): nfsd4_release_lockowner nfsd: Remove nfs4_lock_state(): nfsd4_test_stateid/nfsd4_free_stateid nfsd: Remove nfs4_lock_state(): nfs4_preprocess_stateid_op() nfsd: remove old fault injection infrastructure nfsd: add more granular locking to *_delegations fault injectors nfsd: add more granular locking to forget_openowners fault injector nfsd: add more granular locking to forget_locks fault injector nfsd: add a list_head arg to nfsd_foreach_client_lock ...

Linus Torvalds committed 12 years ago

Commit 0d10c2c2 parents 023f78b d1e458f39 files · +2751 −1468Browse files

Showing the changes to include/linux (4 of 39 files). Show all

Unified · Split

4 files
  1. include/linux/cred.h +9 −0
  2. include/linux/sunrpc/svc.h +2 −2
  3. include/linux/sunrpc/svc_rdma.h +1 −2
  4. include/linux/sunrpc/svc_xprt.h +2 −0
include/linux/cred.h+9−0
@@ -258,6 +258,15 @@ static inline void put_cred(const struct cred *_cred) · 257 unmodified lines
258258 #define current_cred() \
259259 rcu_dereference_protected(current->cred, 1)
260260
261+/**
262+ * current_real_cred - Access the current task's objective credentials
263+ *
264+ * Access the objective credentials of the current task. RCU-safe,
265+ * since nobody else can modify it.
266+ */
267+#define current_real_cred() \
268+ rcu_dereference_protected(current->real_cred, 1)
269+
261270 /**
262271 * __task_cred - Access a task's objective credentials
263272 * @task: The task to query
include/linux/sunrpc/svc.h+2−2
@@ -236,7 +236,7 @@ struct svc_rqst { · 235 unmodified lines
236236 struct svc_cred rq_cred; /* auth info */
237237 void * rq_xprt_ctxt; /* transport specific context ptr */
238238 struct svc_deferred_req*rq_deferred; /* deferred request we are replaying */
239− int rq_usedeferral; /* use deferral */
239+ bool rq_usedeferral; /* use deferral */
240240
241241 size_t rq_xprt_hlen; /* xprt header len */
242242 struct xdr_buf rq_arg;
@@ -277,7 +277,7 @@ struct svc_rqst { · 34 unmodified lines
277277 struct auth_domain * rq_gssclient; /* "gss/"-style peer info */
278278 int rq_cachetype;
279279 struct svc_cacherep * rq_cacherep; /* cache info */
280− int rq_splice_ok; /* turned off in gss privacy
280+ bool rq_splice_ok; /* turned off in gss privacy
281281 * to prevent encrypting page
282282 * cache pages */
283283 wait_queue_head_t rq_wait; /* synchronization */
include/linux/sunrpc/svc_rdma.h+1−2
@@ -174,8 +174,7 @@ struct svcxprt_rdma { · 173 unmodified lines
174174 * page size of 4k, or 32k * 2 ops / 4k = 16 outstanding RDMA_READ. */
175175 #define RPCRDMA_ORD (64/4)
176176 #define RPCRDMA_SQ_DEPTH_MULT 8
177−#define RPCRDMA_MAX_THREADS 16
178−#define RPCRDMA_MAX_REQUESTS 16
177+#define RPCRDMA_MAX_REQUESTS 32
179178 #define RPCRDMA_MAX_REQ_SIZE 4096
180179
181180 /* svc_rdma_marshal.c */
include/linux/sunrpc/svc_xprt.h+2−0
@@ -25,6 +25,7 @@ struct svc_xprt_ops { · 24 unmodified lines
2525 void (*xpo_detach)(struct svc_xprt *);
2626 void (*xpo_free)(struct svc_xprt *);
2727 int (*xpo_secure_port)(struct svc_rqst *);
28+ void (*xpo_adjust_wspace)(struct svc_xprt *);
2829 };
2930
3031 struct svc_xprt_class {
@@ -33,6 +34,7 @@ struct svc_xprt_class { · 2 unmodified lines
3334 struct svc_xprt_ops *xcl_ops;
3435 struct list_head xcl_list;
3536 u32 xcl_max_payload;
37+ int xcl_ident;
3638 };
3739
3840 /*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t