X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre_dlm.h;h=393f9660ef3f19da40b15c87d252ad75f86e611a;hp=b48efef8099a9e580fb4d807754a6025edf98703;hb=ec295cad998d4d5e7fc915491da5ac646dbc6af6;hpb=8ff60aa7ec26d864eb3d260a6e27e4d2958a827a diff --git a/lustre/include/lustre_dlm.h b/lustre/include/lustre_dlm.h index b48efef..393f966 100644 --- a/lustre/include/lustre_dlm.h +++ b/lustre/include/lustre_dlm.h @@ -43,8 +43,8 @@ typedef enum { } ldlm_error_t; typedef enum { - LDLM_NAMESPACE_SERVER = 0, - LDLM_NAMESPACE_CLIENT = 1 + LDLM_NAMESPACE_SERVER = 1 << 0, + LDLM_NAMESPACE_CLIENT = 1 << 1 } ldlm_side_t; #define LDLM_FL_LOCK_CHANGED 0x000001 /* extent, mode, or resource changed */ @@ -324,10 +324,30 @@ struct ldlm_namespace { ldlm_appetite_t ns_appetite; }; +static inline int ns_is_client(struct ldlm_namespace *ns) +{ + LASSERT(ns != NULL); + LASSERT(!(ns->ns_client & ~(LDLM_NAMESPACE_CLIENT | + LDLM_NAMESPACE_SERVER))); + LASSERT(ns->ns_client == LDLM_NAMESPACE_CLIENT || + ns->ns_client == LDLM_NAMESPACE_SERVER); + return ns->ns_client == LDLM_NAMESPACE_CLIENT; +} + +static inline int ns_is_server(struct ldlm_namespace *ns) +{ + LASSERT(ns != NULL); + LASSERT(!(ns->ns_client & ~(LDLM_NAMESPACE_CLIENT | + LDLM_NAMESPACE_SERVER))); + LASSERT(ns->ns_client == LDLM_NAMESPACE_CLIENT || + ns->ns_client == LDLM_NAMESPACE_SERVER); + return ns->ns_client == LDLM_NAMESPACE_SERVER; +} + static inline int ns_connect_lru_resize(struct ldlm_namespace *ns) { LASSERT(ns != NULL); - return ns->ns_connect_flags & OBD_CONNECT_LRU_RESIZE; + return !!(ns->ns_connect_flags & OBD_CONNECT_LRU_RESIZE); } /* @@ -559,8 +579,8 @@ int ldlm_request_cancel(struct ptlrpc_request *req, int ldlm_del_waiting_lock(struct ldlm_lock *lock); int ldlm_refresh_waiting_lock(struct ldlm_lock *lock); void ldlm_revoke_export_locks(struct obd_export *exp); -int ldlm_get_ref(ldlm_side_t client); -void ldlm_put_ref(ldlm_side_t client, int force); +int ldlm_get_ref(void); +void ldlm_put_ref(int force); /* ldlm_lock.c */ ldlm_processing_policy ldlm_get_processing_policy(struct ldlm_resource *res); @@ -772,8 +792,8 @@ struct ldlm_resource * lock_res_and_lock(struct ldlm_lock *lock); void unlock_res_and_lock(struct ldlm_lock *lock); /* ldlm_pool.c */ -int ldlm_pools_init(ldlm_side_t client); void ldlm_pools_recalc(ldlm_side_t client); +int ldlm_pools_init(void); void ldlm_pools_fini(void); void ldlm_pools_wakeup(void);