#include <linux/module.h>
#include <asm/unaligned.h>
-#include <linux/dynlocks.h>
+
+#include "osd_dynlocks.h"
/*
- * linux/include/linux/osd_iam.h
+ * osd_iam.h
*/
#ifndef CLASSERT
#define CLASSERT(cond) do {switch(42) {case (cond): case 0: break;}} while (0)
DX_FMT_NAME_LEN = 16,
};
-#ifdef __KERNEL__
/*
* Debugging.
*/
struct rw_semaphore ic_sem;
struct dynlock ic_tree_lock;
- /*
- * Protect ic_idle_bh
- */
- struct semaphore ic_idle_sem;
+ /* Protect ic_idle_bh */
+ struct mutex ic_idle_mutex;
/*
* BH for idle blocks
*/
static inline struct iam_ikey *iam_path_ikey(const struct iam_path *path,
int nr)
{
- assert(0 <= nr && nr < ARRAY_SIZE(path->ip_data->ipd_key_scratch));
+ LASSERT(0 <= nr && nr < ARRAY_SIZE(path->ip_data->ipd_key_scratch));
return path->ip_data->ipd_key_scratch[nr];
}
int ldiskfs_htree_next_block(struct inode *dir, __u32 hash,
struct iam_path *path, __u32 *start_hash);
-struct buffer_head *ldiskfs_append(handle_t *handle, struct inode *inode,
- u32 *block, int *err);
int split_index_node(handle_t *handle, struct iam_path *path,
struct dynlock_handle **lh);
struct ldiskfs_dir_entry_2 *split_entry(struct inode *dir,
/*
* Linkage into global list of container formats.
*/
- cfs_list_t if_linkage;
+ struct list_head if_linkage;
};
void iam_format_register(struct iam_format *fmt);
*/
/* __KERNEL__ */
-#endif
/*
* User level API. Copy exists in lustre/lustre/tests/iam_ut.c