From: qian Date: Thu, 18 Oct 2007 01:13:15 +0000 (+0000) Subject: b=13099 X-Git-Tag: v1_8_0_110~1099 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=9b2e4fbcfaf9eece28b485bdfd4aab85ab7fb19f;p=fs%2Flustre-release.git b=13099 i=adilger,shadow fix directIO path. --- diff --git a/lustre/include/lustre_net.h b/lustre/include/lustre_net.h index e3b3e0d..da14983 100644 --- a/lustre/include/lustre_net.h +++ b/lustre/include/lustre_net.h @@ -180,16 +180,21 @@ struct ptlrpc_request_set { cfs_waitq_t set_waitq; cfs_waitq_t *set_wakeup_ptr; struct list_head set_requests; + struct list_head set_cblist; /* list of completion callbacks */ set_interpreter_func set_interpret; /* completion callback */ void *set_arg; /* completion context */ - void *set_countp; /* pointer to NOB counter in case - * of directIO (bug11737) */ /* locked so that any old caller can communicate requests to * the set holder who can then fold them into the lock-free set */ spinlock_t set_new_req_lock; struct list_head set_new_requests; }; +struct ptlrpc_set_cbdata { + struct list_head psc_item; + set_interpreter_func psc_interpret; + void *psc_data; +}; + struct ptlrpc_bulk_desc; /* @@ -688,6 +693,8 @@ void ptlrpc_restart_req(struct ptlrpc_request *req); void ptlrpc_abort_inflight(struct obd_import *imp); struct ptlrpc_request_set *ptlrpc_prep_set(void); +int ptlrpc_set_add_cb(struct ptlrpc_request_set *set, + set_interpreter_func fn, void *data); int ptlrpc_set_next_timeout(struct ptlrpc_request_set *); int ptlrpc_check_set(struct ptlrpc_request_set *set); int ptlrpc_set_wait(struct ptlrpc_request_set *);