When 'space' hash type was introduced, default LMV deletion added
check for hash type, but it only checks whether type is 'none',
while by default it's 'fnv_1a_64', which caused default LMV can't
be deleted.
Change check to !LMV_HASH_TYPE_SPACE and update test 413b.
Fixes:
a24f6153292 ("LU-11213 dne: add new dir hash type 'space'")
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I88c630dc8d339ddeb9dc03d6f8987d8783062a13
Reviewed-on: https://review.whamcloud.com/35207
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LASSERT(buf != NULL && buf->lb_buf != NULL);
lum = buf->lb_buf;
LASSERT(buf != NULL && buf->lb_buf != NULL);
lum = buf->lb_buf;
- CDEBUG(D_OTHER, "set default stripe_count # %u stripe_offset %d\n",
+ CDEBUG(D_INFO,
+ "set default stripe_count # %u stripe_offset %d hash %u\n",
le32_to_cpu(lum->lum_stripe_count),
le32_to_cpu(lum->lum_stripe_count),
- (int)le32_to_cpu(lum->lum_stripe_offset));
+ (int)le32_to_cpu(lum->lum_stripe_offset),
+ le32_to_cpu(lum->lum_hash_type));
if (LMVEA_DELETE_VALUES((le32_to_cpu(lum->lum_stripe_count)),
le32_to_cpu(lum->lum_stripe_offset)) &&
le32_to_cpu(lum->lum_magic) == LMV_USER_MAGIC &&
if (LMVEA_DELETE_VALUES((le32_to_cpu(lum->lum_stripe_count)),
le32_to_cpu(lum->lum_stripe_offset)) &&
le32_to_cpu(lum->lum_magic) == LMV_USER_MAGIC &&
- le32_to_cpu(lum->lum_hash_type) == LMV_HASH_TYPE_UNKNOWN) {
+ le32_to_cpu(lum->lum_hash_type) != LMV_HASH_TYPE_SPACE) {
rc = lod_xattr_del_internal(env, dt, name, th);
if (rc == -ENODATA)
rc = 0;
rc = lod_xattr_del_internal(env, dt, name, th);
if (rc == -ENODATA)
rc = 0;
done
[ $((max - min)) -gt $MDSCOUNT ] ||
error "subdirs shouldn't be evenly distributed"
done
[ $((max - min)) -gt $MDSCOUNT ] ||
error "subdirs shouldn't be evenly distributed"
+
+ which getfattr > /dev/null 2>&1 || skip_env "no getfattr command"
+
+ $LFS setdirstripe -D -d $DIR/$tdir || error "setdirstripe -d failed"
+ getfattr -n trusted.dmv $DIR/$tdir && error "default dir layout exists"
+ true
}
run_test 413b "mkdir with balanced space usage"
}
run_test 413b "mkdir with balanced space usage"