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
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
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
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
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:
* 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
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
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
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
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
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
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
> +/* 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) {
> +#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
> +#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]
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,
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
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
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
19 matches
Mail list logo