Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.12.0, Lustre 2.14.0
-
None
-
3
-
9223372036854775807
Description
In lod_layout_convert() the composite layout generated as a result of conversion is only partially initialized. Some member of lcm and lcme (including lcme_id) are filled with left-over garbage from previous uses of lti_ea_store.
# rm -f /mnt/lustre/f0
# echo XXX > /mnt/lustre/f0
# lfs mirror extend -N /mnt/lustre/f0
# lfs getstripe /mnt/lustre/f0 | grep lcme_mirror_id
lcme_mirror_id: 1
lcme_mirror_id: 2
# lctl pool_new lustre.garbage
Pool lustre.garbage created
# lctl pool_add lustre.garbage lustre-OST0000
OST lustre-OST0000_UUID added to pool lustre.garbage
# lfs setstripe -p garbage /mnt/lustre
# rm -f /mnt/lustre/f0
# echo XXX > /mnt/lustre/f0
# lfs mirror extend -N /mnt/lustre/f0
lfs getstripe /mnt/lustre/f0 | grep lcme_mirror_id
lcme_mirror_id: 25202
lcme_mirror_id: 25203
# lfs getstripe /mnt/lustre/f0 | grep lcme_id
lcme_id: 1651663207
lcme_id: 1651703809
# printf '%x\n' 1651663207
62726167
# echo -n garbage | hexdump
0000000 6167 6272 6761 0065
0000007
As seen above, one result of this is that mirror ids may not start at 1.