The first issue (which would really be relevant to the documentation
patch) is that the documentation is in a separate commit. There are
sometimes valid reasons for doing this. I'm not sure if they apply,
Wei suggested we should organize/spit all patches according to libxl,
libxc, xc and xl.
but if they do this should be explained in one of the commit
messages. If this was done I'm afraid I have missed it.
In this patch head description, maybe I can change something like this
This patch parses to enable user configurable parameters to specify
RDM resource and according policies which are defined previously,
+ }else if ( !strcmp(optkey, "rdm_policy") ) {
+ if ( !strcmp(tok, "strict") ) {
+ pcidev->rdm_policy = LIBXL_RDM_RESERVE_POLICY_STRICT;
+ } else if ( !strcmp(tok, "relaxed") ) {
+ pcidev->rdm_policy = LIBXL_RDM_RESERVE_POLICY_RELAXED;
+ } else {
+ XLU__PCI_ERR(cfg, "%s is not an valid PCI RDM property"
+ " policy: 'strict' or 'relaxed'.",
+ tok);
+ goto parse_error;
+ }
This section has coding style (whitespace) problems and long lines.
If you need to respin, please fix them.
Are you saying this?
} else if ( -> }else if (
} else { -> }else {
Additionally I don't found which line is over 80 characters.
+ for (tok = ptr, end = ptr + strlen(ptr) + 1; ptr < end; ptr++) {
+ switch(state) {
+ case STATE_TYPE:
+ if (*ptr == '=') {
+ state = STATE_RDM_STRATEGY;
+ *ptr = '\0';
+ if (strcmp(tok, "strategy")) {
+ XLU__PCI_ERR(cfg, "Unknown RDM state option: %s", tok);
+ goto parse_error;
+ }
+ tok = ptr + 1;
+ }
This code is extremely repetitive.
I just refer to xlu_pci_parse_bdf()
switch(state) {
case STATE_DOMAIN:
if ( *ptr == ':' ) {
state = STATE_BUS;
*ptr = '\0';
if ( hex_convert(tok, &dom, 0xffff) )
goto parse_error;
tok = ptr + 1;
}
break;
Really I would prefer that this parsing was done with a miniature flex
parser, rather than ad-hoc pointer arithmetic and use of strtok.
Sorry, could you show this explicitly?
Thanks
Tiejun
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel