Ján Tomko wrote: > On 03/20/2014 04:01 PM, Daniel P. Berrange wrote: > > On Wed, Mar 19, 2014 at 04:52:33PM +0100, Ján Tomko wrote: > >> --- > >> tests/viriscsitest.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > >> 1 file changed, 82 insertions(+) > >> > >> diff --git a/tests/viriscsitest.c b/tests/viriscsitest.c > >> index 0b09834..16a40c7 100644 > >> --- a/tests/viriscsitest.c > >> +++ b/tests/viriscsitest.c > >> @@ -51,6 +51,14 @@ static const char *iscsiadmSessionOutputNonFlash = > >> "tcp: [6] 10.20.30.44:3260,1 iqn.2008-04.example:example1:iscsi.bar (non-flash)\n" > >> "tcp: [7] 10.20.30.45:3260,1 iqn.2009-04.example:example1:iscsi.seven (non-flash)\n"; > >> > >> +const char *iscsiadmSendtargetsOutput = > >> +"10.20.30.40:3260,1 iqn.2004-06.example:example1:iscsi.test\n" > >> +"10.20.30.40:3260,1 iqn.2005-05.example:example1:iscsi.hello\n" > >> +"10.20.30.40:3260,1 iqn.2006-04.example:example1:iscsi.world\n" > >> +"10.20.30.40:3260,1 iqn.2007-04.example:example1:iscsi.foo\n" > >> +"10.20.30.40:3260,1 iqn.2008-04.example:example1:iscsi.bar\n" > >> +"10.20.30.40:3260,1 iqn.2009-04.example:example1:iscsi.seven\n"; > > > > Same note about indenting the strings relative to the variable dcl. > > > >> + > >> struct testSessionInfo { > >> const char *device_path; > >> int output_version; > >> @@ -74,6 +82,15 @@ static void testIscsiadmCb(const char *const*args, > >> ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutputNonFlash)); > >> else > >> ignore_value(VIR_STRDUP(*output, iscsiadmSessionOutput)); > >> + } else if (args[0] && STREQ(args[0], ISCSIADM) && > >> + args[1] && STREQ(args[1], "--mode") && > >> + args[2] && STREQ(args[2], "discovery") && > >> + args[3] && STREQ(args[3], "--type") && > >> + args[4] && STREQ(args[4], "sendtargets") && > >> + args[5] && STREQ(args[5], "--portal") && > >> + args[6] && STREQ(args[6], "10.20.30.40:3260,1") && > >> + args[7] == NULL) { > > > > I find myself doing a similar with to compare args. I wonder if we > > should create a virStringListIsEqual() helper function for comparing > > a char ** against a statically declared args list. > > > > ACK because such a refactoring can be separately done any time. > > > > I've added ATTRIBUTEs to function declarations in viriscsi.h, indented the > const strings and pushed the series, thank you for the reviews! This breaks the build without iscsi backend: gmake[3]: Entering directory `/usr/home/novel/code/libvirt/src' CC util/libvirt_util_la-viriscsi.lo util/viriscsi.c:83:46: error: use of undeclared identifier 'ISCSIADM' virCommandPtr cmd = virCommandNewArgList(ISCSIADM, "--mode", "session", NULL); ^ util/viriscsi.c:119:46: error: use of undeclared identifier 'ISCSIADM' virCommandPtr cmd = virCommandNewArgList(ISCSIADM, and other similar errors because of ISCSIADM is not defined. Should these files go into STORAGE_DRIVER_ISCSI_SOURCES or UTIL_SOURCES needs to be adjusted depending if we want iscsi backend or not? Roman Bogorodskiy -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list