X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_handles.h;h=5db904e2a08b84146f05d64d6afe3a40937dee4f;hb=9d9b3fa84a5fafe7ea0906b5cdae3be119a62b25;hp=5bc386d6abf7c25f1a1a28117e98971a814306da;hpb=6869932b552ac705f411de3362f01bd50c1f6f7d;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_handles.h b/lustre/include/lustre_handles.h index 5bc386d..5db904e 100644 --- a/lustre/include/lustre_handles.h +++ b/lustre/include/lustre_handles.h @@ -37,6 +37,11 @@ #ifndef __LUSTRE_HANDLES_H_ #define __LUSTRE_HANDLES_H_ +/** \defgroup handles handles + * + * @{ + */ + #if defined(__linux__) #include #elif defined(__APPLE__) @@ -47,6 +52,8 @@ #error Unsupported operating system. #endif +#include + typedef void (*portals_handle_addref_cb)(void *object); /* These handles are most easily used by having them appear at the very top of @@ -62,15 +69,15 @@ typedef void (*portals_handle_addref_cb)(void *object); * uses some offsetof() magic. */ struct portals_handle { - struct list_head h_link; + cfs_list_t h_link; __u64 h_cookie; portals_handle_addref_cb h_addref; /* newly added fields to handle the RCU issue. -jxiong */ - spinlock_t h_lock; + cfs_spinlock_t h_lock; void *h_ptr; void (*h_free_cb)(void *, size_t); - struct rcu_head h_rcu; + cfs_rcu_head_t h_rcu; unsigned int h_size; __u8 h_in:1; __u8 h_unused[3]; @@ -84,8 +91,10 @@ void class_handle_hash(struct portals_handle *, portals_handle_addref_cb); void class_handle_unhash(struct portals_handle *); void class_handle_hash_back(struct portals_handle *); void *class_handle2object(__u64 cookie); -void class_handle_free_cb(struct rcu_head *); +void class_handle_free_cb(cfs_rcu_head_t *); int class_handle_init(void); void class_handle_cleanup(void); +/** @} handles */ + #endif