components/open-fabrics/infiniband-diags/patches/base.patch
branchs11u2-sru
changeset 3821 5a4c2272210e
parent 2867 573013b5a562
child 4996 739983ef315c
equal deleted inserted replaced
3818:622f35e015e8 3821:5a4c2272210e
       
     1 # This patch was developed in-house. Since it is Solaris-specific,
       
     2 # it is not suitable for upstream.
       
     3 #
     1 diff -r -u /tmp/infiniband-diags-1.5.8/Makefile.am infiniband-diags-1.5.8/Makefile.am
     4 diff -r -u /tmp/infiniband-diags-1.5.8/Makefile.am infiniband-diags-1.5.8/Makefile.am
     2 --- /tmp/infiniband-diags-1.5.8/Makefile.am	Wed Feb 16 02:13:21 2011
     5 --- /tmp/infiniband-diags-1.5.8/Makefile.am	Wed Feb 16 02:13:21 2011
     3 +++ infiniband-diags-1.5.8/Makefile.am	Fri Feb 25 03:09:22 2011
     6 +++ infiniband-diags-1.5.8/Makefile.am	Fri Feb 25 03:09:22 2011
     4 @@ -13,7 +13,7 @@
     7 @@ -13,7 +13,7 @@
     5  sbin_PROGRAMS = src/ibaddr src/ibnetdiscover src/ibping src/ibportstate \
     8  sbin_PROGRAMS = src/ibaddr src/ibnetdiscover src/ibping src/ibportstate \
  1801  					out_switch(ch->linenode[n], group,
  1804  					out_switch(ch->linenode[n], group,
  1802  						   chname, NULL, NULL);
  1805  						   chname, NULL, NULL);
  1803 diff -r -u /tmp/infiniband-diags-1.5.8/src/saquery.c infiniband-diags-1.5.8/src/saquery.c
  1806 diff -r -u /tmp/infiniband-diags-1.5.8/src/saquery.c infiniband-diags-1.5.8/src/saquery.c
  1804 --- /tmp/infiniband-diags-1.5.8/src/saquery.c	Wed Feb 16 02:13:21 2011
  1807 --- /tmp/infiniband-diags-1.5.8/src/saquery.c	Wed Feb 16 02:13:21 2011
  1805 +++ infiniband-diags-1.5.8/src/saquery.c	Thu Jun 23 10:36:40 2011
  1808 +++ infiniband-diags-1.5.8/src/saquery.c	Thu Jun 23 10:36:40 2011
  1806 @@ -105,7 +105,7 @@
  1809 @@ -104,8 +104,7 @@
       
  1810  /**
  1807   * Declare some globals because I don't want this to be too complex.
  1811   * Declare some globals because I don't want this to be too complex.
  1808   */
  1812   */
  1809  #define MAX_PORTS (8)
  1813 -#define MAX_PORTS (8)
  1810 -#define DEFAULT_SA_TIMEOUT_MS (1000)
  1814 -#define DEFAULT_SA_TIMEOUT_MS (1000)
  1811 +#define DEFAULT_SA_TIMEOUT_MS (10000)
  1815 +#define DEFAULT_SA_TIMEOUT_MS (10000)
  1812  static struct query_res result;
  1816  static struct query_res result;
  1813  
  1817  
  1814  enum {
  1818  enum {
  1815 @@ -1757,7 +1757,7 @@
  1819 @@ -1757,7 +1756,7 @@
  1816  			requested_lid = (uint16_t) strtoul(argv[0], NULL, 0);
  1820  			requested_lid = (uint16_t) strtoul(argv[0], NULL, 0);
  1817  			requested_lid_flag++;
  1821  			requested_lid_flag++;
  1818  		} else if (node_print_desc == NAME_OF_GUID) {
  1822  		} else if (node_print_desc == NAME_OF_GUID) {
  1819 -			requested_guid = strtoul(argv[0], NULL, 0);
  1823 -			requested_guid = strtoul(argv[0], NULL, 0);
  1820 +			requested_guid = strtoull(argv[0], NULL, 0);
  1824 +			requested_guid = strtoull(argv[0], NULL, 0);
  1866  			peerportid.drpath.drdlid = 0xffff;
  1870  			peerportid.drpath.drdlid = 0xffff;
  1867  
  1871  
  1868 diff -r -u /tmp/infiniband-diags-1.5.8/src/ibstat.c infiniband-diags-1.5.8/src/ibstat.c
  1872 diff -r -u /tmp/infiniband-diags-1.5.8/src/ibstat.c infiniband-diags-1.5.8/src/ibstat.c
  1869 --- /tmp/infiniband-diags-1.5.8/src/ibstat.c	Wed Feb 16 02:13:21 2011
  1873 --- /tmp/infiniband-diags-1.5.8/src/ibstat.c	Wed Feb 16 02:13:21 2011
  1870 +++ infiniband-diags-1.5.8/src/ibstat.c	Fri Feb 25 03:09:28 2011
  1874 +++ infiniband-diags-1.5.8/src/ibstat.c	Fri Feb 25 03:09:28 2011
  1871 @@ -245,7 +245,7 @@
  1875 @@ -46,6 +46,7 @@
       
  1876  
       
  1877  #include <infiniband/umad.h>
       
  1878  #include <infiniband/mad.h>
       
  1879 +#include <infiniband/verbs.h>
       
  1880  
       
  1881  #include <ibdiag_common.h>
       
  1882  
       
  1883 @@ -78,7 +79,7 @@
       
  1884  }
       
  1885  
       
  1886  static char *port_state_str[] = {
       
  1887 -	"???",
       
  1888 +	"Unknown",
       
  1889  	"Down",
       
  1890  	"Initializing",
       
  1891  	"Armed",
       
  1892 @@ -112,10 +113,10 @@
       
  1893  	printf("%sPort %d:\n", hdrpre, port->portnum);
       
  1894  	printf("%sState: %s\n", pre,
       
  1895  	       (unsigned)port->state <=
       
  1896 -	       4 ? port_state_str[port->state] : "???");
       
  1897 +	       4 ? port_state_str[port->state] : "Unknown");
       
  1898  	printf("%sPhysical state: %s\n", pre,
       
  1899  	       (unsigned)port->phys_state <=
       
  1900 -	       7 ? port_phy_state_str[port->phys_state] : "???");
       
  1901 +	       7 ? port_phy_state_str[port->phys_state] : "Unknown");
       
  1902  	printf("%sRate: %d\n", pre, port->rate);
       
  1903  	printf("%sBase lid: %d\n", pre, port->base_lid);
       
  1904  	printf("%sLMC: %d\n", pre, port->lmc);
       
  1905 @@ -167,13 +168,13 @@
       
  1906  
       
  1907  static int ports_list(char names[][UMAD_CA_NAME_LEN], int n)
       
  1908  {
       
  1909 -	uint64_t guids[64];
       
  1910 +	uint64_t guids[MAX_PORTS];
       
  1911  	int found, ports, i;
       
  1912  
       
  1913 -	for (i = 0, found = 0; i < n && found < 64; i++) {
       
  1914 +	for (i = 0, found = 0; i < n && found < MAX_PORTS; i++) {
       
  1915  		if ((ports =
       
  1916  		     umad_get_ca_portguids(names[i], guids + found,
       
  1917 -					   64 - found)) < 0)
       
  1918 +					   MAX_PORTS - found)) < 0)
       
  1919  			return -1;
       
  1920  		found += ports;
       
  1921  	}
       
  1922 @@ -245,7 +246,7 @@
  1872  		if (i >= n)
  1923  		if (i >= n)
  1873  			IBPANIC("'%s' IB device can't be found", argv[0]);
  1924  			IBPANIC("'%s' IB device can't be found", argv[0]);
  1874  
  1925  
  1875 -		strncpy(names[i], argv[0], sizeof names[i]);
  1926 -		strncpy(names[i], argv[0], sizeof names[i]);
  1876 +		strncpy(names[0], argv[0], sizeof names[i]);
  1927 +		strncpy(names[0], argv[0], sizeof names[i]);
  1878  	}
  1929  	}
  1879  
  1930  
  1880 diff -r -u /tmp/infiniband-diags-1.5.8/src/ibdiag_common.c infiniband-diags-1.5.8/src/ibdiag_common.c
  1931 diff -r -u /tmp/infiniband-diags-1.5.8/src/ibdiag_common.c infiniband-diags-1.5.8/src/ibdiag_common.c
  1881 --- /tmp/infiniband-diags-1.5.8/src/ibdiag_common.c	Wed Feb 16 02:13:21 2011
  1932 --- /tmp/infiniband-diags-1.5.8/src/ibdiag_common.c	Wed Feb 16 02:13:21 2011
  1882 +++ infiniband-diags-1.5.8/src/ibdiag_common.c	Tue May  3 13:50:05 2011
  1933 +++ infiniband-diags-1.5.8/src/ibdiag_common.c	Tue May  3 13:50:05 2011
  1883 @@ -330,7 +330,7 @@
  1934 @@ -322,15 +322,17 @@
       
  1935  	char buf[512];
       
  1936  	va_list va;
       
  1937  	int n;
       
  1938 +	int bufsz;
       
  1939  
       
  1940  	va_start(va, msg);
       
  1941 -	n = vsprintf(buf, msg, va);
       
  1942 +	bufsz = strlen(msg) < sizeof (buf) ? strlen(msg) : sizeof (buf);
       
  1943 +	n = vsnprintf(buf, bufsz, msg, va);
       
  1944  	va_end(va);
       
  1945  	buf[n] = 0;
  1884  
  1946  
  1885  	if (ibdebug)
  1947  	if (ibdebug)
  1886  		printf("%s: iberror: [pid %d] %s: failed: %s\n",
  1948  		printf("%s: iberror: [pid %d] %s: failed: %s\n",
  1887 -		       prog_name ? prog_name : "", getpid(), fn, buf);
  1949 -		       prog_name ? prog_name : "", getpid(), fn, buf);
  1888 +		       prog_name ? prog_name : "", (int)getpid(), fn, buf);
  1950 +		       prog_name ? prog_name : "", (int)getpid(), fn, buf);