#include <sys/types.h>
#include <libcfs/util/string.h>
-#include <linux/lustre_fid.h>
+#include <linux/lustre/lustre_fid.h>
#include <lustre/lustreapi.h>
/* Progress reporting period */
static int ct_parseopts(int argc, char * const *argv)
{
struct option long_opts[] = {
- {"abort-on-error", no_argument, &opt.o_abort_on_error, 1},
- {"abort_on_error", no_argument, &opt.o_abort_on_error, 1},
- {"archive", required_argument, NULL, 'A'},
- {"bandwidth", required_argument, NULL, 'b'},
- {"chunk-size", required_argument, NULL, 'c'},
- {"chunk_size", required_argument, NULL, 'c'},
- {"daemon", no_argument, &opt.o_daemonize, 1},
- {"event-fifo", required_argument, NULL, 'f'},
- {"event_fifo", required_argument, NULL, 'f'},
- {"dry-run", no_argument, &opt.o_dry_run, 1},
- {"help", no_argument, NULL, 'h'},
- {"hsm-root", required_argument, NULL, 'p'},
- {"hsm_root", required_argument, NULL, 'p'},
- {"import", no_argument, NULL, 'i'},
- {"max-sequence", no_argument, NULL, 'M'},
- {"max_sequence", no_argument, NULL, 'M'},
- {"no-attr", no_argument, &opt.o_copy_attrs, 0},
- {"no_attr", no_argument, &opt.o_copy_attrs, 0},
- {"no-shadow", no_argument, &opt.o_shadow_tree, 0},
- {"no_shadow", no_argument, &opt.o_shadow_tree, 0},
- {"no-xattr", no_argument, &opt.o_copy_xattrs, 0},
- {"no_xattr", no_argument, &opt.o_copy_xattrs, 0},
- {"quiet", no_argument, NULL, 'q'},
- {"rebind", no_argument, NULL, 'r'},
- {"update-interval", required_argument, NULL, 'u'},
- {"update_interval", required_argument, NULL, 'u'},
- {"verbose", no_argument, NULL, 'v'},
- {0, 0, 0, 0}
- };
+ { .val = 1, .name = "abort-on-error",
+ .flag = &opt.o_abort_on_error, .has_arg = no_argument },
+ { .val = 1, .name = "abort_on_error",
+ .flag = &opt.o_abort_on_error, .has_arg = no_argument },
+ { .val = 'A', .name = "archive", .has_arg = required_argument },
+ { .val = 'b', .name = "bandwidth", .has_arg = required_argument },
+ { .val = 'c', .name = "chunk-size", .has_arg = required_argument },
+ { .val = 'c', .name = "chunk_size", .has_arg = required_argument },
+ { .val = 1, .name = "daemon", .has_arg = no_argument,
+ .flag = &opt.o_daemonize },
+ { .val = 'f', .name = "event-fifo", .has_arg = required_argument },
+ { .val = 'f', .name = "event_fifo", .has_arg = required_argument },
+ { .val = 1, .name = "dry-run", .has_arg = no_argument,
+ .flag = &opt.o_dry_run },
+ { .val = 'h', .name = "help", .has_arg = no_argument },
+ { .val = 'i', .name = "import", .has_arg = no_argument },
+ { .val = 'M', .name = "max-sequence", .has_arg = no_argument },
+ { .val = 'M', .name = "max_sequence", .has_arg = no_argument },
+ { .val = 0, .name = "no-attr", .has_arg = no_argument,
+ .flag = &opt.o_copy_attrs },
+ { .val = 0, .name = "no_attr", .has_arg = no_argument,
+ .flag = &opt.o_copy_attrs },
+ { .val = 0, .name = "no-shadow", .has_arg = no_argument,
+ .flag = &opt.o_shadow_tree },
+ { .val = 0, .name = "no_shadow", .has_arg = no_argument,
+ .flag = &opt.o_shadow_tree },
+ { .val = 0, .name = "no-xattr", .has_arg = no_argument,
+ .flag = &opt.o_copy_xattrs },
+ { .val = 0, .name = "no_xattr", .has_arg = no_argument,
+ .flag = &opt.o_copy_xattrs },
+ { .val = 'p', .name = "hsm-root", .has_arg = required_argument },
+ { .val = 'p', .name = "hsm_root", .has_arg = required_argument },
+ { .val = 'q', .name = "quiet", .has_arg = no_argument },
+ { .val = 'r', .name = "rebind", .has_arg = no_argument },
+ { .val = 'u', .name = "update-interval",
+ .has_arg = required_argument },
+ { .val = 'u', .name = "update_interval",
+ .has_arg = required_argument },
+ { .val = 'v', .name = "verbose", .has_arg = no_argument },
+ { .name = NULL } };
int c, rc;
unsigned long long value;
unsigned long long unit;
}
static int ct_path_lustre(char *buf, int sz, const char *mnt,
- const lustre_fid *fid)
+ const struct lu_fid *fid)
{
return snprintf(buf, sz, "%s/%s/fid/"DFID_NOBRACE, mnt,
dot_lustre_name, PFID(fid));
}
static int ct_path_archive(char *buf, int sz, const char *archive_dir,
- const lustre_fid *fid)
+ const struct lu_fid *fid)
{
return snprintf(buf, sz, "%s/%04x/%04x/%04x/%04x/%04x/%04x/"
DFID_NOBRACE, archive_dir,
static int ct_import_one(const char *src, const char *dst)
{
char newarc[PATH_MAX];
- lustre_fid fid;
+ struct lu_fid fid;
struct stat st;
int rc;
return result;
}
-static int ct_import_fid(const lustre_fid *import_fid)
+static int ct_import_fid(const struct lu_fid *import_fid)
{
char fid_path[PATH_MAX];
int rc;
DIR *dir;
struct dirent *ent;
char *srcpath, *newpath;
- lustre_fid import_fid;
+ struct lu_fid import_fid;
int rc;
if (relpath == NULL)
return rc;
}
-static int ct_rebind_one(const lustre_fid *old_fid, const lustre_fid *new_fid)
+static int ct_rebind_one(const struct lu_fid *old_fid,
+ const struct lu_fid *new_fid)
{
char src[PATH_MAX];
char dst[PATH_MAX];
return 0;
}
-static bool fid_is_file(lustre_fid *fid)
+static bool fid_is_file(struct lu_fid *fid)
{
return fid_is_norm(fid) || fid_is_igif(fid);
}
/* each line consists of 2 FID */
while ((r = getline(&line, &line_size, filp)) != -1) {
- lustre_fid old_fid;
- lustre_fid new_fid;
+ struct lu_fid old_fid;
+ struct lu_fid new_fid;
/* Ignore empty and commented out ('#...') lines. */
if (should_ignore_line(line))
int rc;
if (opt.o_dst) {
- lustre_fid old_fid;
- lustre_fid new_fid;
+ struct lu_fid old_fid;
+ struct lu_fid new_fid;
if (sscanf(opt.o_src, SFID, RFID(&old_fid)) != 3 ||
!fid_is_file(&old_fid)) {