/* struct rw_semaphore */
#include <linux/rwsem.h>
-/* handle_t, journal_start(), journal_stop() */
-#include <linux/jbd.h>
-/* struct dx_hash_info */
-#include <linux/ldiskfs_fs.h>
/* struct dentry */
#include <linux/dcache.h>
/* struct dirent64 */
#include <linux/dirent.h>
+#ifdef HAVE_EXT4_LDISKFS
+#include <ldiskfs/ldiskfs.h>
+#include <ldiskfs/ldiskfs_jbd2.h>
+#define osd_journal_callback_set(handle, func, jcb) jbd2_journal_callback_set(handle, func, jcb)
+#else
+#include <linux/jbd.h>
+#include <linux/ldiskfs_fs.h>
+#include <linux/ldiskfs_jbd.h>
+#define osd_journal_callback_set(handle, func, jcb) journal_callback_set(handle, func, jcb)
+#endif
+
+
/* LUSTRE_OSD_NAME */
#include <obd.h>
/* class_register_type(), class_unregister_type(), class_get_type() */
unsigned long od_capa_timeout;
__u32 od_capa_alg;
struct lustre_capa_key *od_capa_keys;
- struct hlist_head *od_capa_hash;
+ cfs_hlist_head_t *od_capa_hash;
cfs_proc_dir_entry_t *od_proc_entry;
struct lprocfs_stats *od_stats;
* statfs optimization: we cache a bit.
*/
cfs_time_t od_osfs_age;
- struct kstatfs od_kstatfs;
- spinlock_t od_osfs_lock;
+ cfs_kstatfs_t od_kstatfs;
+ cfs_spinlock_t od_osfs_lock;
/**
* The following flag indicates, if it is interop mode or not.
};
struct osd_it_ea_dirent {
+ struct lu_fid oied_fid;
__u64 oied_ino;
__u64 oied_off;
unsigned short oied_namelen;
char oied_name[0];
} __attribute__((packed));
-#define OSD_IT_EA_BUFSIZE CFS_PAGE_SIZE
+/**
+ * as osd_it_ea_dirent (in memory dirent struct for osd) is greater
+ * than lu_dirent struct. osd readdir reads less number of dirent than
+ * required for mdd dir page. so buffer size need to be increased so that
+ * there would be one ext3 readdir for every mdd readdir page.
+ */
+
+#define OSD_IT_EA_BUFSIZE (CFS_PAGE_SIZE + CFS_PAGE_SIZE/4)
/**
* This is iterator's in-memory data structure in interoperability
#endif
struct lu_env oti_obj_delete_tx_env;
#define OSD_FID_REC_SZ 32
- char oti_fid_packed[OSD_FID_REC_SZ];
+ char oti_ldp[OSD_FID_REC_SZ];
+ char oti_ldp2[OSD_FID_REC_SZ];
};
#ifdef LPROCFS
struct osd_device *osd, int op);
#endif
int osd_statfs(const struct lu_env *env, struct dt_device *dev,
- struct kstatfs *sfs);
+ cfs_kstatfs_t *sfs);
/*
* Invariants, assertions.