Whamcloud - gitweb
LU-1581 utils: extract ldiskfs specifics from mkfs_lustre.c
[fs/lustre-release.git] / lustre / utils / mount_utils.h
index f070f3a..7a4433f 100644 (file)
 
 #include <lustre_disk.h>
 
-void fatal(void);
-int run_command(char *, int);
+extern char *progname;
+extern int verbose;
+extern int failover;
+
+#define vprint(fmt, arg...) if (verbose > 0) printf(fmt, ##arg)
+#define verrprint(fmt, arg...) if (verbose >= 0) fprintf(stderr, fmt, ##arg)
+
+/* mo_flags */
+#define MO_IS_LOOP             0x01
+#define MO_FORCEFORMAT         0x02
+#define MO_FAILOVER            0x04
+#define MO_DRYRUN              0x08
+
+#define MAX_LOOP_DEVICES       16
+#define INDEX_UNASSIGNED       0xFFFF
+
+/* used to describe the options to format the lustre disk, not persistent */
+struct mkfs_opts {
+       struct lustre_disk_data mo_ldd; /* to be written in MOUNT_DATA_FILE */
+       char    mo_device[128];   /* disk device name */
+       char    mo_loopdev[128];  /* in case a loop dev is needed */
+       char    mo_mkfsopts[512]; /* options to the backing-store mkfs */
+       __u64   mo_device_sz;     /* in KB */
+       int     mo_stripe_count;
+       int     mo_flags;
+       int     mo_mgs_failnodes;
+};
+
 int get_mountdata(char *, struct lustre_disk_data *);
 
+/* 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);
+__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);
+
 #endif