On Fri, 30 Jul 2010 18:28:33 +0300 Alexander Nezhinsky <alexandern@xxxxxxxxxxxx> wrote: > New device type TYPE_PT (passthrough) was not added to disk_type_names > array. Thus "Type:" in --op show was (null). > > This patch adds the new device type, displays Unknown instead of (null) > when printing device types. > > Adding TYPE_PT to disk_type_names alone does not help detecting it > there, because the type of device_type field in struct lu_phy_attr > (accessed as lu->attrs.device_type when printing) is char, > while the value of TYPE_PT is 0xff. Comparison fails as 0xff is > interpreted as -1. Thus this patch changes the type of device_type > field to unsigned char. > > Signed-off-by: Alexander Nezhinsky <alexandern@xxxxxxxxxxxx> > --- > usr/target.c | 5 ++++- > usr/tgtd.h | 2 +- > 2 files changed, 5 insertions(+), 2 deletions(-) Thanks, applied with one change. > diff --git a/usr/target.c b/usr/target.c > index bb5b0c8..53a27f5 100644 > --- a/usr/target.c > +++ b/usr/target.c > @@ -1663,7 +1663,8 @@ static struct { > {TYPE_ENCLOSURE, "enclosure"}, > {TYPE_RBC, "rbc"}, > {TYPE_OSD, "osd"}, > - {TYPE_NO_LUN, "No LUN"} > + {TYPE_NO_LUN, "No LUN"}, > + {TYPE_PT, "passthrough"} > }; > > static char *print_type(int type) > @@ -1677,6 +1678,8 @@ static char *print_type(int type) > break; > } > } > + if (name == NULL) > + name = "Unknown"; > return name; I dropped this part: 1. changing "null" to "Unknown" doesn't help much. If print_type can't find an appropriate type, it's a bug. 2. linux's preferable style is "if (!name)" -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html