int lu_env_refill(struct lu_env *env);
int lu_env_refill_by_tags(struct lu_env *env, __u32 ctags, __u32 stags);
+#ifdef HAVE_SERVER_SUPPORT
struct lu_env *lu_env_find(void);
int lu_env_add(struct lu_env *env);
void lu_env_remove(struct lu_env *env);
+#else
+static inline struct lu_env *lu_env_find(void)
+{
+ return NULL;
+}
+static inline int lu_env_add(struct lu_env *env)
+{
+ return 0;
+}
+static inline void lu_env_remove(struct lu_env *env)
+{
+}
+#endif /* HAVE_SERVER_SUPPORT */
/** @} lu_context */
}
EXPORT_SYMBOL(lu_env_refill_by_tags);
-
+#ifdef HAVE_SERVER_SUPPORT
struct lu_env_item {
struct task_struct *lei_task; /* rhashtable key */
struct rhash_head lei_linkage;
.key_len = sizeof(struct task_struct *),
.key_offset = offsetof(struct lu_env_item, lei_task),
.head_offset = offsetof(struct lu_env_item, lei_linkage),
- };
+};
struct rhashtable lu_env_rhash;
return env;
}
EXPORT_SYMBOL(lu_env_find);
+#define lu_env_rhash_init(rhash, params) rhashtable_init(rhash, params)
+#define lu_env_rhash_destroy(rhash) rhashtable_destroy(rhash)
+#else
+#define lu_env_rhash_init(rhash, params) 0
+#define lu_env_rhash_destroy(rhash) do {} while (0)
+#endif /* HAVE_SERVER_SUPPORT */
static struct shrinker *lu_site_shrinker;
if (lu_site_shrinker == NULL)
return -ENOMEM;
- result = rhashtable_init(&lu_env_rhash, &lu_env_rhash_params);
+ result = lu_env_rhash_init(&lu_env_rhash, &lu_env_rhash_params);
return result;
}
lu_env_fini(&lu_shrink_env);
up_write(&lu_sites_guard);
- rhashtable_destroy(&lu_env_rhash);
+ lu_env_rhash_destroy(&lu_env_rhash);
lu_ref_global_fini();
}