]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
blkzone: Fix zone condition strings handling
authorDamien Le Moal <damien.lemoal@wdc.com>
Wed, 12 Apr 2017 09:20:32 +0000 (18:20 +0900)
committerKarel Zak <kzak@redhat.com>
Tue, 18 Apr 2017 09:25:31 +0000 (11:25 +0200)
Fixed the condition strings for implicit open and explicit open to
match the man page defined strings ("oi" and "oe"). Also while at it,
correct the condition_str array entries adding the reserved "xC" case
so that the read_only, full and offline conditions match the condition
codes. This increases the array size to 16, so also fix the condition
code masking when displaying the result.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
sys-utils/blkzone.c

index 1457225c964049c616c2ea6633528da8dc63abc0..7713ff3b28cbea04769cc7a241df7753b6288847 100644 (file)
@@ -151,10 +151,10 @@ static const char *type_text[] = {
 static const char *condition_str[] = {
        "nw", /* Not write pointer */
        "em", /* Empty */
-       "io", /* Implicitly opened */
-       "eo", /* Explicitly opened */
+       "oi", /* Implicitly opened */
+       "oe", /* Explicitly opened */
        "cl", /* Closed */
-       "x5", "x6", "x7", "x8", "x9", "xA", "xB", /* xN: reserved */
+       "x5", "x6", "x7", "x8", "x9", "xA", "xB", "xC", /* xN: reserved */
        "ro", /* Read only */
        "fu", /* Full */
        "of"  /* Offline */
@@ -220,7 +220,7 @@ static int blkzone_report(struct blkzone_control *ctl)
                                " reset:%u non-seq:%u, zcond:%2u(%s) [type: %u(%s)]\n"),
                                start, len, (type == 0x1) ? 0 : wp - start,
                                entry->reset, entry->non_seq,
-                               cond, condition_str[cond & ARRAY_SIZE(condition_str)],
+                               cond, condition_str[cond & (ARRAY_SIZE(condition_str) - 1)],
                                type, type_text[type]);
 
                        nr_zones--;