All of lore.kernel.org
 help / color / mirror / Atom feed
* Changes hwtable.c to Support New Pillar Hardware
@ 2007-02-05 21:52 Srinivas Ramani
  2007-02-05 22:51 ` Christophe Varoqui
  0 siblings, 1 reply; 4+ messages in thread
From: Srinivas Ramani @ 2007-02-05 21:52 UTC (permalink / raw)
  To: dm-devel, christophe.varoqui, bmarzins, lmb, dmo, mbroz


[-- Attachment #1.1: Type: text/plain, Size: 1576 bytes --]

Hi Folks;

                 I am Srinivasan Ramani  from Pillar Data Systems .

 

                 I am submitting code changes to support  the 

                 new Pillar  Axiom 300 and Axiom 550 arrays .

 

                  I request the following change to hwtable.c file .

 

                  This change has been tested at Pillar Data Systems  on
RHEL 4 and 5 beta.

 

                   If you have any comments or  suggestions please let
me know.

             

 

/*

       * Pillar Data controller family

       *

       * Maintainer : Srinivasan Ramani

       * Mail : sramani@pillardata.com

       */

      {

            .vendor        = "Pillar",

            .product       = "*",

            .getuid        = DEFAULT_GETUID,

            .getprio       = "mpath_prio_alua %n",

            .features      = DEFAULT_FEATURES,

            .hwhandler     = DEFAULT_HWHANDLER,

            .selector      = DEFAULT_SELECTOR,

            .pgpolicy      = GROUP_BY_PRIO,

            .pgfailback    = FAILBACK_UNDEF,

            .rr_weight     = RR_WEIGHT_NONE,

            .no_path_retry = NO_PATH_RETRY_UNDEF,

            .minio         = DEFAULT_MINIO,

            .checker_name  = TUR,

      },

 

 

 

         

Also enclosed is the hwtable.c file.

 

 

 

With Best Regards

 

Srinivasan Ramani

Pillar Data Systems
2840 Junction Ave
San Jose, CA 95134

Ph: 408-518-4456

 

 

 

                                           


[-- Attachment #1.2: Type: text/html, Size: 13388 bytes --]

[-- Attachment #2: hwtable.c --]
[-- Type: application/octet-stream, Size: 17001 bytes --]

#include <stdio.h> 
#include <checkers.h> 

#include "vector.h"
#include "defaults.h"
#include "structs.h"
#include "config.h"
#include "pgpolicies.h"

/*
 * Tuning suggestions on these parameters should go to
 * dm-devel@redhat.com
 * 
 * You are welcome to claim maintainership over a controller
 * family. Please mail the currently enlisted maintainer and
 * the upstream package maintainer.
 */
static struct hwentry default_hw[] = {
	/*
	 * Apple controller family
	 *
	 * Maintainer : Shyam Sundar
	 * Mail : g.shyamsundar@yahoo.co.in
	 */
	{
		.vendor        = "APPLE*",
		.product       = "Xserve RAID ",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = DEFAULT_CHECKER,
	},
	/*
	 * StorageWorks controller family
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "3PARdata",
		.product       = "VV",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = DEFAULT_CHECKER,
	},
	{
		.vendor        = "DEC",
		.product       = "HSG80",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = "1 hp_sw",
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_SERIAL,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = HP_SW,
	},
	{
		.vendor        = "(COMPAQ|HP)",
		.product       = "(MSA|HSV)1.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = "1 hp_sw",
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = HP_SW,
	},
	{
		.vendor        = "HP",
		.product       = "A6189A",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	{
		.vendor        = "HP",
		.product       = "HSV20.*",
		.revision      = "[123].*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = HP_SW,
	},
	{
		.vendor        = "HP",
		.product       = "HSV20.*",
		.revision      = "[^123].*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "/sbin/mpath_prio_alua /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		.vendor        = "HP",
		.product       = "HSV21.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "/sbin/mpath_prio_alua /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	/*
	 * DDN controller family
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "DDN",
		.product       = "SAN DataDirector",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = DIRECTIO,
	},
	/*
	 * EMC / Clariion controller family
	 *
	 * Maintainer : Edward Goggin, EMC
	 * Mail : egoggin@emc.com
	 */
	{
		.vendor        = "EMC",
		.product       = "SYMMETRIX",
		.getuid        = "scsi_id -g -u -ppre-spc3-83 -s /block/%n",
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	{
		.vendor        = "DGC",
		.product       = ".*",
		.bl_product    = "LUNZ",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_emc /dev/%n",
		.features      = "1 queue_if_no_path",
		.hwhandler     = "1 emc",
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = (300 / DEFAULT_CHECKINT),
		.minio         = DEFAULT_MINIO,
		.checker_name  = EMC_CLARIION,
	},
	/*
	 * Fujitsu controller family
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "FSC",
		.product       = "CentricStor",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_SERIAL,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	/*
	 * Hitachi controller family
	 *
	 * Maintainer : Matthias Rudolph
	 * Mail : matthias.rudolph@hds.com
	 */
	{
		.vendor        = "(HITACHI|HP)",
		.product       = "OPEN-.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	{
		.vendor        = "HITACHI",
		.product       = "DF.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_hds_modular %d",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	/*
	 * IBM controller family
	 *
	 * Maintainer : Hannes Reinecke, SuSE
	 * Mail : hare@suse.de
	 */
	{
		.vendor        = "IBM",
		.product       = "ProFibre 4000R",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	{
		/* IBM DS4100 / FAStT100 */
		.vendor        = "IBM",
		.product       = "1742",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_tpc /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM Netfinity Fibre Channel RAID Controller Unit */
		.vendor        = "IBM",
		.product       = "3526",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_tpc /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM DS4200 / FAStT200 */
		.vendor        = "IBM",
		.product       = "3542",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_SERIAL,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM ESS F20 aka Shark */
		.vendor        = "IBM",
		.product       = "2105(800|F20)",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_SERIAL,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM DS6000 */
		.vendor        = "IBM",
		.product       = "1750500",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_alua /dev/%n",
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM DS8000 */
		.vendor        = "IBM",
		.product       = "2107900",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM SAN Volume Controller */
		.vendor        = "IBM",
		.product       = "2145",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_alua /dev/%n",
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	{
		/* IBM S/390 ECKD DASD */
		.vendor        = "IBM",
		.product       = "S/390 DASD ECKD",
		.bl_product       = "S/390.*",
		.getuid        = "dasd_id /dev/%n",
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = DIRECTIO,
	},
 	/*
	 * NETAPP controller family
	 *
	 * Maintainer : Dave Wysochanski
	 * Mail : davidw@netapp.com
	 */
	{
		.vendor        = "NETAPP",
		.product       = "LUN.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_netapp /dev/%n",
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = 128,
		.checker_name  = READSECTOR0,
	},
 	/*
	 * IBM NSeries (NETAPP) controller family
	 *
	 * Maintainer : Dave Wysochanski
	 * Mail : davidw@netapp.com
	 */
	{
		.vendor        = "IBM",
		.product       = "Nseries.*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_netapp /dev/%n",
		.features      = "1 queue_if_no_path",
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = 128,
		.checker_name  = READSECTOR0,
	},
	/*
	 * Pillar Data controller family
	 *
	 * Maintainer : Srinivasan Ramani
	 * Mail : sramani@pillardata.com
	 */
	{
		.vendor        = "Pillar",
		.product       = "*",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_alua %n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	/*
	 * SGI arrays
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "SGI",
		.product       = "TP9[13]00",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	{
		.vendor        = "SGI",
		.product       = "TP9[45]00",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_tpc /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	/*
	 * STK arrays
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "STK",
		.product       = "OPENstorage D280",
		.getuid        = DEFAULT_GETUID,
		.getprio       = "mpath_prio_tpc /dev/%n",
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = GROUP_BY_PRIO,
		.pgfailback    = -FAILBACK_IMMEDIATE,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = TUR,
	},
	/*
	 * SUN arrays
	 *
	 * Maintainer : Christophe Varoqui
	 * Mail : christophe.varoqui@free.fr
	 */
	{
		.vendor        = "SUN",
		.product       = "(StorEdge 3510|T4)",
		.getuid        = DEFAULT_GETUID,
		.getprio       = NULL,
		.features      = DEFAULT_FEATURES,
		.hwhandler     = DEFAULT_HWHANDLER,
		.selector      = DEFAULT_SELECTOR,
		.pgpolicy      = MULTIBUS,
		.pgfailback    = FAILBACK_UNDEF,
		.rr_weight     = RR_WEIGHT_NONE,
		.no_path_retry = NO_PATH_RETRY_UNDEF,
		.minio         = DEFAULT_MINIO,
		.checker_name  = READSECTOR0,
	},
	/*
	 * EOL
	 */
	{
		.vendor        = NULL,
		.product       = NULL,
		.getuid        = NULL,
		.getprio       = NULL,
		.features      = NULL,
		.hwhandler     = NULL,
		.selector      = NULL,
		.pgpolicy      = 0,
		.pgfailback    = 0,
		.rr_weight     = 0,
		.no_path_retry = 0,
		.minio         = 0,
		.checker_name  = NULL,
	},
};

extern int
setup_default_hwtable (vector hw)
{
	int r = 0;
	struct hwentry * hwe = default_hw;

	while (hwe-&gt;vendor) {
		hwe-&gt;checker = checker_lookup(hwe-&gt;checker_name);
		r += store_hwe(hw, hwe);
		hwe++;
	}
	return r;
}

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Changes hwtable.c to Support New Pillar Hardware
  2007-02-05 21:52 Changes hwtable.c to Support New Pillar Hardware Srinivas Ramani
@ 2007-02-05 22:51 ` Christophe Varoqui
  2007-02-06  0:08   ` Srinivas Ramani
  2007-02-06 13:00   ` Stefan Bader
  0 siblings, 2 replies; 4+ messages in thread
From: Christophe Varoqui @ 2007-02-05 22:51 UTC (permalink / raw)
  To: Srinivas Ramani; +Cc: dm-devel, dmo, lmb


> 
> I am submitting code changes to support  the 
> new Pillar  Axiom 300 and Axiom 550 arrays .
> I request the following change to hwtable.c file .
> This change has been tested at Pillar Data Systems  on RHEL 4 and 5
> beta.
> If you have any comments or  suggestions please let me know.
> 
>  
> 
> /*
> 
>        * Pillar Data controller family
> 
>        *
> 
>        * Maintainer : Srinivasan Ramani
> 
>        * Mail : sramani@pillardata.com
> 
>        */
> 
>       {
> 
>             .vendor        = "Pillar",
> 
>             .product       = "*",
> 
Extended regexp here. Can we settle on "Axiom.*" ?

>             .getuid        = DEFAULT_GETUID,
> 
>             .getprio       = "mpath_prio_alua %n",

I'm wondering : "%d" or "/dev/%n" should work as mpath_prio_alua
parameter. Does "%n" does too ?

Regards,
cvaroqui

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: Changes hwtable.c to Support New Pillar Hardware
  2007-02-05 22:51 ` Christophe Varoqui
@ 2007-02-06  0:08   ` Srinivas Ramani
  2007-02-06 13:00   ` Stefan Bader
  1 sibling, 0 replies; 4+ messages in thread
From: Srinivas Ramani @ 2007-02-06  0:08 UTC (permalink / raw)
  To: Christophe Varoqui; +Cc: dm-devel, dmo, lmb

Hi Chris;

Extended regexp here. Can we settle on "Axiom.*" ? 

>>Yes that is fine will work.

I'm wondering : "%d" or "/dev/%n" should work as mpath_prio_alua
parameter. Does "%n" does too ?

>> Yes %n works and fixes the following bug .

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=215505

215505: DM multipath devices are not created - for the luns with dev_t
minor numbers > 256


Thanks and Best Regards

Srini


-----Original Message-----
From: Christophe Varoqui [mailto:christophe.varoqui@free.fr] 
Sent: Monday, February 05, 2007 2:52 PM
To: Srinivas Ramani
Cc: dm-devel@redhat.com; bmarzins@redhat.com; lmb@suse.de; dmo@osdl.org;
mbroz@redhat.com
Subject: Re: Changes hwtable.c to Support New Pillar Hardware


> 
> I am submitting code changes to support  the 
> new Pillar  Axiom 300 and Axiom 550 arrays .
> I request the following change to hwtable.c file .
> This change has been tested at Pillar Data Systems  on RHEL 4 and 5
> beta.
> If you have any comments or  suggestions please let me know.
> 
>  
> 
> /*
> 
>        * Pillar Data controller family
> 
>        *
> 
>        * Maintainer : Srinivasan Ramani
> 
>        * Mail : sramani@pillardata.com
> 
>        */
> 
>       {
> 
>             .vendor        = "Pillar",
> 
>             .product       = "*",
> 
Extended regexp here. Can we settle on "Axiom.*" ?

>             .getuid        = DEFAULT_GETUID,
> 
>             .getprio       = "mpath_prio_alua %n",

I'm wondering : "%d" or "/dev/%n" should work as mpath_prio_alua
parameter. Does "%n" does too ?

Regards,
cvaroqui

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: Changes hwtable.c to Support New Pillar Hardware
  2007-02-05 22:51 ` Christophe Varoqui
  2007-02-06  0:08   ` Srinivas Ramani
@ 2007-02-06 13:00   ` Stefan Bader
  1 sibling, 0 replies; 4+ messages in thread
From: Stefan Bader @ 2007-02-06 13:00 UTC (permalink / raw)
  To: device-mapper development

dm-devel-bounces@redhat.com wrote on 05.02.2007 23:51:44:
> 
> I'm wondering : "%d" or "/dev/%n" should work as mpath_prio_alua
> parameter. Does "%n" does too ?
> 
Yes, "%n" uses "/dev" (or the directory given with -d) as device
directory, if there is no leading "/" in the device name.
It might be a workaround for the problems with the temporary device
node (makedev macro seems to be the wrong choice...) but will get
other problems. If udev/hotplug doesn't create the device node fast
enough the call will fail. This was the reason to implement the "%d"
support in the first place. May someone has a good idea how to
do the node creation correctly...

Regards,
Stefan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-02-06 13:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-05 21:52 Changes hwtable.c to Support New Pillar Hardware Srinivas Ramani
2007-02-05 22:51 ` Christophe Varoqui
2007-02-06  0:08   ` Srinivas Ramani
2007-02-06 13:00   ` Stefan Bader

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.