Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
For composite files lfs getstripe --yaml uses a key for each component rather than an array:
$ lfs getstripe --yaml f0 lcm_layout_gen: 1 lcm_mirror_count: 2 lcm_entry_count: 2 component0: lcme_id: 65537 lcme_mirror_id: 1 lcme_flags: init lcme_extent.e_start: 0 lcme_extent.e_end: EOF sub_layout: lmm_stripe_count: 1 lmm_stripe_size: 1048576 lmm_pattern: raid0 lmm_layout_gen: 0 lmm_stripe_offset: 2 lmm_objects: - l_ost_idx: 2 l_fid: 0x100020000:0xd1:0x0 component1: lcme_id: 131073 lcme_mirror_id: 2 lcme_flags: init lcme_extent.e_start: 0 lcme_extent.e_end: EOF sub_layout: lmm_stripe_count: 1 lmm_stripe_size: 1048576 lmm_pattern: raid0 lmm_layout_gen: 0 lmm_stripe_offset: 3 lmm_objects: - l_ost_idx: 3 l_fid: 0x100030000:0xd1:0x0
Using "components0..." instead of any array is poor YAML style and hinders the use of the output with common YAML tooling. If an array ("components") was used instead of numbered keys then we could do things like:
lfs getstripe --yaml f0 | yq '.components[] | select(.lcme_flags == "init,stale")'