if (poolpath(fsname, NULL, NULL) == 0)
pool_name = ptr + 1;
}
- strncpy(lum.lmm_pool_name, pool_name, MAXPOOLNAME);
+ strncpy(lum.lmm_pool_name, pool_name, LOV_MAXPOOLNAME);
} else {
/* If no pool is specified at all, use V1 request */
lum.lmm_magic = LOV_USER_MAGIC_V1;
(param->verbose || !param->obduuid));
break;
case LOV_USER_MAGIC_V3: {
- char pool_name[MAXPOOLNAME + 1];
+ char pool_name[LOV_MAXPOOLNAME + 1];
struct lov_user_ost_data_v1 *objects;
struct lov_user_md_v3 *lmmv3 = (void *)¶m->lmd->lmd_lmm;
- strncpy(pool_name, lmmv3->lmm_pool_name, MAXPOOLNAME);
- pool_name[MAXPOOLNAME] = '\0';
+ strncpy(pool_name, lmmv3->lmm_pool_name, LOV_MAXPOOLNAME);
+ pool_name[LOV_MAXPOOLNAME] = '\0';
objects = lmmv3->lmm_objects;
lov_dump_user_lmm_v1v3(¶m->lmd->lmd_lmm, pool_name,
objects, path, is_dir,
(param->poolname[0] == '\0')) ||
((param->lmd->lmd_lmm.lmm_magic == LOV_USER_MAGIC_V3) &&
(strncmp(lmmv3->lmm_pool_name,
- param->poolname, MAXPOOLNAME) == 0)) ||
+ param->poolname, LOV_MAXPOOLNAME) == 0)) ||
((param->lmd->lmd_lmm.lmm_magic == LOV_USER_MAGIC_V3) &&
(strcmp(param->poolname, "*") == 0))) {
if (param->exclude_pool)
exit(execvp(argv[0], argv));
}
+
+int llapi_path2fid(const char *path, unsigned long long *seq,
+ unsigned long *oid, unsigned long *ver)
+{
+ struct lu_fid fid;
+ int fd, rc;
+
+ fd = open(path, O_RDONLY);
+ if (fd < 0)
+ return -errno;
+
+ rc = ioctl(fd, LL_IOC_PATH2FID, &fid);
+ *seq = fid_seq(&fid);
+ *oid = fid_oid(&fid);
+ *ver = fid_ver(&fid);
+
+ close(fd);
+ return rc;
+}