Fix vitastor-cli describe --inode and describe/fix hanging on a down OSD #102

Closed
koolkhel wants to merge 3 commits from koolkhel/vitastor:cli-describe-osd-down into master

3 Commits

Author SHA1 Message Date
a85a4febc9 Fix vitastor-cli fix hanging when an OSD is down
The client queues a request to an OSD which is down until the OSD comes
back, so fix hung forever when the primary of an object's PG or one of
--bad-osds was down. Refuse to start while one of --bad-osds is down,
skip objects whose PG primary is down as it is done for inactive PGs,
and exit with EIO when some objects were skipped or a request failed,
so that a partial repair is not taken for a complete one.
2026-10-25 16:10:29 +03:00
4fa06ef7e1 Fix vitastor-cli describe hanging when an OSD is down
The client queues a request to an OSD which is down until the OSD comes
back, so describe hung forever when a PG primary or an OSD from --osds
was down. Skip such PGs and OSDs with a warning, ask only the primary
of the PG when --pool and --pg are given, and exit with EIO after
printing what could be listed, so that a partial listing is not taken
for a complete one. With --json, stdout stays a valid JSON array.
2026-10-25 16:10:29 +03:00
bb0ce4e552 Fix vitastor-cli describe listing only one object with --inode
describe --inode sent the range from offset 0 to offset 0 of the inode
and ignored --min-offset and --max-offset, and --max-inode without
--max-offset also ended the range at offset 0 of that inode. The OSD
ends the listing at (max_inode, max_offset) inclusive, so only the
object at offset 0 of the last inode was listed. Honour the offsets
with --inode and end the range at the last offset of max_inode when
--max-offset is not given.
2026-10-25 16:10:29 +03:00