All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] update support for cciss controller(s)
@ 2009-11-30 19:30 Mike Snitzer
  2009-11-30 19:48 ` Mike Snitzer
  0 siblings, 1 reply; 2+ messages in thread
From: Mike Snitzer @ 2009-11-30 19:30 UTC (permalink / raw)
  To: lvm-devel

The cciss driver calls register_blkdev() for each controller in the
system.  The first 8 cciss controllers are given a fixed major
(COMPAQ_CISS_MAJOR + i) and a name of: cciss%d

cciss controllers >8 get a dynamic major number.

Each controller supports a maximum of 16 partitions.

Update lvm's filtering to properly support the cciss controller (I left
"cciss" for compatibility's sake).

(This enables dracut to drop its, incorrect, "cciss0" 'types' entry).

diff --git a/lib/filters/filter.c b/lib/filters/filter.c
index 889b416..05da504 100644
--- a/lib/filters/filter.c
+++ b/lib/filters/filter.c
@@ -96,6 +96,14 @@ static const device_info_t device_info[] = {
 	{"nbd", 16},		/* Network Block Device */
 	{"ida", 16},		/* Compaq SMART2 */
 	{"cciss", 16},		/* Compaq CCISS array */
+	{"cciss0", 16},		/* Compaq CCISS array */
+	{"cciss1", 16},		/* Compaq CCISS array */
+	{"cciss2", 16},		/* Compaq CCISS array */
+	{"cciss3", 16},		/* Compaq CCISS array */
+	{"cciss4", 16},		/* Compaq CCISS array */
+	{"cciss5", 16},		/* Compaq CCISS array */
+	{"cciss6", 16},		/* Compaq CCISS array */
+	{"cciss7", 16},		/* Compaq CCISS array */
 	{"ubd", 16},		/* User-mode virtual block device */
 	{"ataraid", 16},	/* ATA Raid */
 	{"drbd", 16},		/* Distributed Replicated Block Device */



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

* Re: update support for cciss controller(s)
  2009-11-30 19:30 [PATCH] update support for cciss controller(s) Mike Snitzer
@ 2009-11-30 19:48 ` Mike Snitzer
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Snitzer @ 2009-11-30 19:48 UTC (permalink / raw)
  To: lvm-devel

On Mon, Nov 30 2009 at  2:30pm -0500,
Mike Snitzer <snitzer@redhat.com> wrote:

> The cciss driver calls register_blkdev() for each controller in the
> system.  The first 8 cciss controllers are given a fixed major
> (COMPAQ_CISS_MAJOR + i) and a name of: cciss%d
> 
> cciss controllers >8 get a dynamic major number.
> 
> Each controller supports a maximum of 16 partitions.
> 
> Update lvm's filtering to properly support the cciss controller (I left
> "cciss" for compatibility's sake).
> 
> (This enables dracut to drop its, incorrect, "cciss0" 'types' entry).
> 
> diff --git a/lib/filters/filter.c b/lib/filters/filter.c
> index 889b416..05da504 100644
> --- a/lib/filters/filter.c
> +++ b/lib/filters/filter.c
> @@ -96,6 +96,14 @@ static const device_info_t device_info[] = {
>  	{"nbd", 16},		/* Network Block Device */
>  	{"ida", 16},		/* Compaq SMART2 */
>  	{"cciss", 16},		/* Compaq CCISS array */
> +	{"cciss0", 16},		/* Compaq CCISS array */
> +	{"cciss1", 16},		/* Compaq CCISS array */
> +	{"cciss2", 16},		/* Compaq CCISS array */
> +	{"cciss3", 16},		/* Compaq CCISS array */
> +	{"cciss4", 16},		/* Compaq CCISS array */
> +	{"cciss5", 16},		/* Compaq CCISS array */
> +	{"cciss6", 16},		/* Compaq CCISS array */
> +	{"cciss7", 16},		/* Compaq CCISS array */
>  	{"ubd", 16},		/* User-mode virtual block device */
>  	{"ataraid", 16},	/* ATA Raid */
>  	{"drbd", 16},		/* Distributed Replicated Block Device */
> 


self-NACK

lvm doesn't need a literal match.  "cciss" is a catch all for cciss%d
(see 'for (j = 0; device_info[j].name != NULL; j++)' loop in
lib/filters/filter.c:_scan_proc_dev)

(begs the question: why did dracut feel compelled to add a "cciss0"
entry?  afaik a single cciss controller can't support 1024 partitions :)

Mike



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

end of thread, other threads:[~2009-11-30 19:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-30 19:30 [PATCH] update support for cciss controller(s) Mike Snitzer
2009-11-30 19:48 ` Mike Snitzer

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.