directly located within it.
Similar to '\fBls -d\fR' and '\fBlfs getstripe -d\fR'.
.TP
+.BR --clear-fixed
+Do not set LMV_HASH_FIXED_FLAG upon migrating the directory. It allows a striped dir
+with only one stripe to be converted to a plain directory.
+.TP
.BR -H , --mdt-hash=\fIHASH_TYPE\fR
Use
.I HASH_TYPE
struct lmv_user_md_v1 *lmu;
lmu = req_capsule_client_get(pill, &RMF_EADATA);
- lmu->lum_hash_type |=
- cpu_to_le32(LMV_HASH_FLAG_FIXED);
rr->rr_eadata = lmu;
spec->u.sp_ea.eadatalen = rr->rr_eadatalen;
spec->u.sp_ea.eadata = rr->rr_eadata;
LFS_LINKS_OPT,
LFS_ATTRS_OPT,
LFS_XATTRS_MATCH_OPT,
+ LFS_MIGRATE_NOFIX,
};
#ifndef LCME_USER_MIRROR_FLAGS
bool foreign_mode = false;
char *xattr = NULL;
bool overstriped = false;
+ bool clear_hash_fixed = false;
uint32_t type = LU_FOREIGN_TYPE_NONE, flags = 0;
char *mode_opt = NULL;
mode_t previous_umask = 0;
{ .val = 'y', .name = "yaml", .has_arg = required_argument },
{ .val = 'z', .name = "ext-size", .has_arg = required_argument},
{ .val = 'z', .name = "extension-size", .has_arg = required_argument},
+ { .val = LFS_MIGRATE_NOFIX, .name = "clear-fixed", .has_arg = no_argument},
{ .name = NULL } };
setstripe_args_init(&lsa);
goto usage_error;
}
break;
+ case LFS_MIGRATE_NOFIX:
+ if (!migrate_mode) {
+ fprintf(stderr,
+ "%s %s: --clear-fixed valid only for migrate command\n",
+ progname, argv[0]);
+ goto usage_error;
+ }
+ clear_hash_fixed = true;
+ break;
case 'b':
if (!migrate_mode) {
fprintf(stderr,
if (overstriped)
lmu->lum_hash_type |= LMV_HASH_FLAG_OVERSTRIPED;
+ if (!clear_hash_fixed)
+ lmu->lum_hash_type |= LMV_HASH_FLAG_FIXED;
+
if (lsa.lsa_pool_name)
snprintf(lmu->lum_pool_name, sizeof(lmu->lum_pool_name),
"%s", lsa.lsa_pool_name);