+#define MT_STR(data) mt_str((data)->ldd_mount_type)
+
+#undef IS_MDT
+#define IS_MDT(data) ((data)->ldd_flags & LDD_F_SV_TYPE_MDT)
+#undef IS_OST
+#define IS_OST(data) ((data)->ldd_flags & LDD_F_SV_TYPE_OST)
+#undef IS_MGS
+#define IS_MGS(data) ((data)->ldd_flags & LDD_F_SV_TYPE_MGS)
+
+/* mkfs/mount helper functions */
+void fatal(void);
+int run_command_err(char *cmd, int cmdsz, char *error_msg);
+int run_command(char *cmd, int cmdsz);
+int add_param(char *buf, char *key, char *val);
+int get_param(char *buf, char *key, char **val);
+char *strscat(char *dst, char *src, int buflen);
+char *strscpy(char *dst, char *src, int buflen);
+int check_mtab_entry(char *spec1, char *spec2, char *mntpt, char *type);
+int update_mtab_entry(char *spec, char *mtpt, char *type, char *opts,
+ int flags, int freq, int pass);
+int check_mountfsoptions(char *mountopts, char *wanted_mountopts, int justwarn);
+void trim_mountfsoptions(char *s);
+__u64 get_device_size(char* device);
+
+int is_block(char *devname);
+void disp_old_e2fsprogs_msg(const char *feature, int make_backfs);
+int make_lustre_backfs(struct mkfs_opts *mop);
+int write_local_files(struct mkfs_opts *mop);
+int read_local_files(struct mkfs_opts *mop);
+int is_lustre_target(struct mkfs_opts *mop);
+
+/* loopback helper functions */
+int file_create(char *path, int size);
+int loop_format(struct mkfs_opts *mop);
+int loop_setup(struct mkfs_opts *mop);
+int loop_cleanup(struct mkfs_opts *mop);
+
+/* generic target support */
+int osd_write_ldd(struct mkfs_opts *mop);
+int osd_read_ldd(char *dev, struct lustre_disk_data *ldd);
+int osd_is_lustre(char *dev, unsigned *mount_type);
+int osd_make_lustre(struct mkfs_opts *mop);
+int osd_prepare_lustre(struct mkfs_opts *mop,
+ char *default_mountopts, int default_len,
+ char *always_mountopts, int always_len);
+int osd_tune_lustre(char *dev, struct mount_opts *mop);
+int osd_label_lustre(struct mount_opts *mop);
+int osd_enable_quota(struct mkfs_opts *mop);
+int osd_init(void);
+void osd_fini(void);
+
+int ldiskfs_write_ldd(struct mkfs_opts *mop);
+int ldiskfs_read_ldd(char *dev, struct lustre_disk_data *ldd);
+int ldiskfs_is_lustre(char *dev, unsigned *mount_type);
+int ldiskfs_make_lustre(struct mkfs_opts *mop);
+int ldiskfs_prepare_lustre(struct mkfs_opts *mop,
+ char *default_mountopts, int default_len,
+ char *always_mountopts, int always_len);
+int ldiskfs_tune_lustre(char *dev, struct mount_opts *mop);
+int ldiskfs_label_lustre(struct mount_opts *mop);
+int ldiskfs_enable_quota(struct mkfs_opts *mop);
+int ldiskfs_init(void);
+void ldiskfs_fini(void);
+
+#ifdef HAVE_ZFS_OSD
+int zfs_write_ldd(struct mkfs_opts *mop);
+int zfs_read_ldd(char *ds, struct lustre_disk_data *ldd);
+int zfs_is_lustre(char *dev, unsigned *mount_type);
+int zfs_make_lustre(struct mkfs_opts *mop);
+int zfs_prepare_lustre(struct mkfs_opts *mop,
+ char *default_mountopts, int default_len,
+ char *always_mountopts, int always_len);
+int zfs_tune_lustre(char *dev, struct mount_opts *mop);
+int zfs_label_lustre(struct mount_opts *mop);
+int zfs_init(void);
+void zfs_fini(void);
+#endif
+