In target.c the following list is defined:
static struct {
int value;
char *name;
} disk_type_names[] = {
{TYPE_DISK, "disk"},
{TYPE_TAPE, "tape"},
{TYPE_PRINTER, "printer"},
{TYPE_PROCESSOR, "processor"},
{TYPE_WORM, "worm"},
{TYPE_ROM, "cd/dvd"},
{TYPE_SCANNER, "scanner"},
{TYPE_MOD, "optical"},
{TYPE_MEDIUM_CHANGER, "changer"},
{TYPE_COMM, "communication"},
{TYPE_RAID, "controller"},
{TYPE_ENCLOSURE, "enclosure"},
{TYPE_RBC, "rbc"},
{TYPE_OSD, "osd"},
{TYPE_NO_LUN, "No LUN"}
};
In tgtadm.c the following function is defined:
static int str_to_device_type(char *str)
{
if (!strcmp(str, "disk"))
return TYPE_DISK;
else if (!strcmp(str, "tape")) {
eprintf("type emulation isn't supported yet\n");
exit(EINVAL);
} else if (!strcmp(str, "cd"))
return TYPE_ROM;
else if (!strcmp(str, "changer"))
return TYPE_MEDIUM_CHANGER;
else if (!strcmp(str, "osd"))
return TYPE_OSD;
else if (!strcmp(str, "pt"))
return TYPE_SPT;
else {
eprintf("unknown target type: %s\n", str);
exit(EINVAL);
}
}
First, there is the difference of defining "cd/dvd" (in target,c) and "cd"
(in tgtadm.c).
There is also the difference of "printer" (in target.c) and "pt" (tgtadm.c).
Wouldn't it be better to define this in one of the header files (e.g.
target.h) and include the
header file in both files?
Albert
_______________________________________________
Stgt-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/stgt-devel