[PATCH] device-mapper multipath: Flush workqueue when destroying

2005-07-08 Thread Alasdair G Kergon
The multipath destructor must flush its workqueue. Otherwise items that reference the destroyed object could remain. From: "goggin, edward" <[EMAIL PROTECTED]> Signed-off-by: Lars Marowsky-Bree <[EMAIL PROTECTED]> Signed-Off-By: Alasdair G Kergon <[EMAIL PROTECTED]> --- diff/drivers/md/dm-mpath.c

[PATCH] device-mapper multipath: Avoid possible suspension deadlock

2005-07-08 Thread Alasdair G Kergon
To avoid deadlock when suspending a multipath device after all its paths have failed, stop queueing any I/O that is about to fail *before* calling freeze_bdev instead of after. Instead of setting a multipath 'suspended' flag which would have to be reset if an error occurs during the process, sav

[PATCH] device-mapper multipath: Fix pg initialisation races

2005-07-08 Thread Alasdair G Kergon
Prevent more than one priority group initialisation function from being outstanding at once. Otherwise the completion functions interfere with each other. Also, reloading the table could reference a freed pointer. Only reset queue_io in pg_init_complete if another pg_init isn't required. Skip p

[PATCH] device-mapper multipath: Barriers not supported

2005-07-08 Thread Alasdair G Kergon
dm multipath will report barriers as not supported with this patch. Signed-off-by: Lars Marowsky-Bree <[EMAIL PROTECTED]> Signed-Off-By: Alasdair G Kergon <[EMAIL PROTECTED]> --- diff/drivers/md/dm-mpath.c 2005-06-17

[PATCH] device-mapper: multipath: avoid infinite suspend requeueing

2005-03-01 Thread Alasdair G Kergon
Don't requeue I/O repeatedly if there are no paths left and the device is in the process of being suspended, or else the suspend can never complete. Reported-By: "goggin, edward" <[EMAIL PROTECTED]> Signed-Off-By: Alasdair G Kergon <[EMAIL PROTECTED]> --- diff/drivers/md/dm-mpath.c 2005-03-01 16:

Re: [PATCH] device-mapper: multipath

2005-02-15 Thread Ingo Molnar
* Andrew Morton <[EMAIL PROTECTED]> wrote: > Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > > > +EXPORT_SYMBOL(dm_register_path_selector); > > > +EXPORT_SYMBOL(dm_unregister_path_selector); > > > > I though we agreed to only allow GPL'ed path selectors at OSDL? > > (OSDL?) > > Yup, this

Re: [PATCH] device-mapper: multipath hardware handler for EMC

2005-02-12 Thread Mike Christie
Christoph Hellwig wrote: +/* Code borrowed from dm-lsi-rdac by Mike Christie */ Any reason that module isn't submitted? I do not have access to their HW specs, and have been busy with some iscsi things so I did not have time to finish things up. I was also hoping LSI would soon figure out that the

Re: [PATCH] device-mapper: multipath hardware handler for EMC

2005-02-11 Thread Lars Marowsky-Bree
On 2005-02-11T19:58:41, Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > +/* Code borrowed from dm-lsi-rdac by Mike Christie */ > > Any reason that module isn't submitted? No idea why. > > + bio->bi_bdev = path->dev->bdev; > > + bio->bi_sector = 0; > > + bio->bi_private = path; > > + bi

Re: [PATCH] device-mapper: multipath hardware handler

2005-02-11 Thread Ingo Oeser
Hi Alasdair, Alasdair G Kergon wrote: > +/* > + * Constructs a hardware handler object, takes custom arguments > + */ > +typedef int (*hwh_ctr_fn) (struct hw_handler *hwh, unsigned arc, char > **argv); +typedef void (*hwh_dtr_fn) (struct hw_handler *hwh); > + > +typedef void (*hwh_pg_init_fn) (str

Re: [PATCH] device-mapper: multipath

2005-02-11 Thread Alasdair G Kergon
On Fri, Feb 11, 2005 at 01:36:32PM -0800, Andrew Morton wrote: > Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > +EXPORT_SYMBOL(dm_register_path_selector); > > > +EXPORT_SYMBOL(dm_unregister_path_selector); > Yup, this should be _GPL. Yup - and the same applies to the other exports. Alasda

Re: [PATCH] device-mapper: multipath

2005-02-11 Thread Christoph Hellwig
On Fri, Feb 11, 2005 at 01:36:32PM -0800, Andrew Morton wrote: > Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > > > +EXPORT_SYMBOL(dm_register_path_selector); > > > +EXPORT_SYMBOL(dm_unregister_path_selector); > > > > I though we agreed to only allow GPL'ed path selectors at OSDL? > > (OSDL

Re: [PATCH] device-mapper: multipath

2005-02-11 Thread Andrew Morton
Christoph Hellwig <[EMAIL PROTECTED]> wrote: > > > +EXPORT_SYMBOL(dm_register_path_selector); > > +EXPORT_SYMBOL(dm_unregister_path_selector); > > I though we agreed to only allow GPL'ed path selectors at OSDL? (OSDL?) Yup, this should be _GPL. Anything which uses these exports is a derived w

Re: [PATCH] device-mapper: multipath hardware handler for EMC

2005-02-11 Thread Christoph Hellwig
> +/* Code borrowed from dm-lsi-rdac by Mike Christie */ Any reason that module isn't submitted? > + bio->bi_bdev = path->dev->bdev; > + bio->bi_sector = 0; > + bio->bi_private = path; > + bio->bi_end_io = emc_endio; > + > + page = alloc_page(GFP_ATOMIC); > + if (!page) {

Re: [PATCH] device-mapper: multipath

2005-02-11 Thread Christoph Hellwig
> +#include "dm.h" > +#include "dm-path-selector.h" > +#include "dm-bio-list.h" > +#include "dm-bio-record.h" > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include Always include private headers after public ones. > +MODULE_DESCRI

Re: [PATCH] device-mapper: multipath round-robin path selector.

2005-02-11 Thread Christoph Hellwig
> +#include "dm.h" > +#include "dm-path-selector.h" > + > +#include private after public again. Also it kinda looks to me like dm headers pull in far too much kernel headers? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED]

[PATCH] device-mapper: multipath hardware handler for EMC

2005-02-11 Thread Alasdair G Kergon
Outline Hardware Handler for EMC CLARiiON AX/CX-series. Signed-Off-By: Alasdair G Kergon <[EMAIL PROTECTED]> From: Lars Marowsky-Bree <[EMAIL PROTECTED]> --- diff/drivers/md/Kconfig 2005-02-09 14:41:52.0 + +++ source/drivers/md/Kconfig 2005-02-09 14:42:24.0 + @@ -233,

[PATCH] device-mapper: multipath hardware handler

2005-02-11 Thread Alasdair G Kergon
Each multipath instance can use a Hardware Handler with hooks for the particular hardware you're using. This patch provides the hw_handler infrastructure. So far 3 hooks are available: A status function invoked by device-mapper table and status requests. An initialisation function called

[PATCH] device-mapper: multipath round-robin path selector.

2005-02-11 Thread Alasdair G Kergon
A very basic path selector: round-robin. It uses in turn each path that has not been disabled. By default, it instructs core multipath to use each path it supplies for 1000 bios, but a different repeat_count can be set against any path to provide primitive load-balancing across unequal paths. Si

[PATCH] device-mapper: multipath

2005-02-11 Thread Alasdair G Kergon
The core device-mapper multipath and path-selector code. Paths are grouped into an ordered list of Priority Groups. Each Priority Group has a Path Selector which chooses which of the Priority Group's paths is to be used for each bio e.g. according to some load-balancing algorithm. If a bio genera