* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2016-12-05 1:47 ` Vladimir Zapolskiy
0 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2016-12-05 1:47 UTC (permalink / raw)
To: Boris Brezillon, Richard Weinberger, Sylvain Lemieux
Cc: Brian Norris, Marek Vasut, linux-mtd, linux-arm-kernel
Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
disabled or enabled, in the latter case IRQs are allocated starting
at least from the value specified by NR_IRQS and going upwards, so
the check of (irq >= NR_IRQ) to decide about an error code returned by
platform_get_irq() is completely invalid, don't attempt to overrule
irq subsystem in the driver.
The change fixes LPC32xx NAND MLC driver initialization on boot.
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
index 8523881..bc6e49a 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
@@ -776,7 +776,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
init_completion(&host->comp_controller);
host->irq = platform_get_irq(pdev, 0);
- if ((host->irq < 0) || (host->irq >= NR_IRQS)) {
+ if (host->irq < 0) {
dev_err(&pdev->dev, "failed to get platform irq\n");
res = -EINVAL;
goto err_exit3;
--
2.10.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2016-12-05 1:47 ` Vladimir Zapolskiy
0 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2016-12-05 1:47 UTC (permalink / raw)
To: linux-arm-kernel
Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
disabled or enabled, in the latter case IRQs are allocated starting
at least from the value specified by NR_IRQS and going upwards, so
the check of (irq >= NR_IRQ) to decide about an error code returned by
platform_get_irq() is completely invalid, don't attempt to overrule
irq subsystem in the driver.
The change fixes LPC32xx NAND MLC driver initialization on boot.
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
---
drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
index 8523881..bc6e49a 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
@@ -776,7 +776,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
init_completion(&host->comp_controller);
host->irq = platform_get_irq(pdev, 0);
- if ((host->irq < 0) || (host->irq >= NR_IRQS)) {
+ if (host->irq < 0) {
dev_err(&pdev->dev, "failed to get platform irq\n");
res = -EINVAL;
goto err_exit3;
--
2.10.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2016-12-05 1:47 ` Vladimir Zapolskiy
@ 2016-12-07 18:09 ` Sylvain Lemieux
-1 siblings, 0 replies; 14+ messages in thread
From: Sylvain Lemieux @ 2016-12-07 18:09 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Boris Brezillon, Richard Weinberger, Brian Norris, Marek Vasut,
linux-mtd, linux-arm-kernel
On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote:
> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> disabled or enabled, in the latter case IRQs are allocated starting
> at least from the value specified by NR_IRQS and going upwards, so
> the check of (irq >= NR_IRQ) to decide about an error code returned by
> platform_get_irq() is completely invalid, don't attempt to overrule
> irq subsystem in the driver.
>
> The change fixes LPC32xx NAND MLC driver initialization on boot.
>
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> ---
> drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2016-12-07 18:09 ` Sylvain Lemieux
0 siblings, 0 replies; 14+ messages in thread
From: Sylvain Lemieux @ 2016-12-07 18:09 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, 2016-12-05 at 03:47 +0200, Vladimir Zapolskiy wrote:
> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> disabled or enabled, in the latter case IRQs are allocated starting
> at least from the value specified by NR_IRQS and going upwards, so
> the check of (irq >= NR_IRQ) to decide about an error code returned by
> platform_get_irq() is completely invalid, don't attempt to overrule
> irq subsystem in the driver.
>
> The change fixes LPC32xx NAND MLC driver initialization on boot.
>
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> ---
> drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Acked-by: Sylvain Lemieux <slemieux.tyco@gmail.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2016-12-05 1:47 ` Vladimir Zapolskiy
@ 2017-01-03 9:12 ` Boris Brezillon
-1 siblings, 0 replies; 14+ messages in thread
From: Boris Brezillon @ 2017-01-03 9:12 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Richard Weinberger, Sylvain Lemieux, Brian Norris, Marek Vasut,
linux-mtd, linux-arm-kernel
Hi Vladimir
On Mon, 5 Dec 2016 03:47:10 +0200
Vladimir Zapolskiy <vz@mleia.com> wrote:
> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> disabled or enabled, in the latter case IRQs are allocated starting
> at least from the value specified by NR_IRQS and going upwards, so
> the check of (irq >= NR_IRQ) to decide about an error code returned by
> platform_get_irq() is completely invalid, don't attempt to overrule
> irq subsystem in the driver.
>
> The change fixes LPC32xx NAND MLC driver initialization on boot.
Do you need to backport this fix to stable releases? If that's the
case, I'll add the Cc: stable tag when applying.
Thanks,
Boris
>
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> ---
> drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
> index 8523881..bc6e49a 100644
> --- a/drivers/mtd/nand/lpc32xx_mlc.c
> +++ b/drivers/mtd/nand/lpc32xx_mlc.c
> @@ -776,7 +776,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
> init_completion(&host->comp_controller);
>
> host->irq = platform_get_irq(pdev, 0);
> - if ((host->irq < 0) || (host->irq >= NR_IRQS)) {
> + if (host->irq < 0) {
> dev_err(&pdev->dev, "failed to get platform irq\n");
> res = -EINVAL;
> goto err_exit3;
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2017-01-03 9:12 ` Boris Brezillon
0 siblings, 0 replies; 14+ messages in thread
From: Boris Brezillon @ 2017-01-03 9:12 UTC (permalink / raw)
To: linux-arm-kernel
Hi Vladimir
On Mon, 5 Dec 2016 03:47:10 +0200
Vladimir Zapolskiy <vz@mleia.com> wrote:
> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> disabled or enabled, in the latter case IRQs are allocated starting
> at least from the value specified by NR_IRQS and going upwards, so
> the check of (irq >= NR_IRQ) to decide about an error code returned by
> platform_get_irq() is completely invalid, don't attempt to overrule
> irq subsystem in the driver.
>
> The change fixes LPC32xx NAND MLC driver initialization on boot.
Do you need to backport this fix to stable releases? If that's the
case, I'll add the Cc: stable tag when applying.
Thanks,
Boris
>
> Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
> ---
> drivers/mtd/nand/lpc32xx_mlc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
> index 8523881..bc6e49a 100644
> --- a/drivers/mtd/nand/lpc32xx_mlc.c
> +++ b/drivers/mtd/nand/lpc32xx_mlc.c
> @@ -776,7 +776,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
> init_completion(&host->comp_controller);
>
> host->irq = platform_get_irq(pdev, 0);
> - if ((host->irq < 0) || (host->irq >= NR_IRQS)) {
> + if (host->irq < 0) {
> dev_err(&pdev->dev, "failed to get platform irq\n");
> res = -EINVAL;
> goto err_exit3;
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2017-01-03 9:12 ` Boris Brezillon
@ 2017-01-03 10:16 ` Vladimir Zapolskiy
-1 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2017-01-03 10:16 UTC (permalink / raw)
To: Boris Brezillon
Cc: Richard Weinberger, Sylvain Lemieux, Brian Norris, Marek Vasut,
linux-mtd, linux-arm-kernel
Hi Boris,
On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> Hi Vladimir
>
> On Mon, 5 Dec 2016 03:47:10 +0200
> Vladimir Zapolskiy <vz@mleia.com> wrote:
>
>> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
>> disabled or enabled, in the latter case IRQs are allocated starting
>> at least from the value specified by NR_IRQS and going upwards, so
>> the check of (irq >= NR_IRQ) to decide about an error code returned by
>> platform_get_irq() is completely invalid, don't attempt to overrule
>> irq subsystem in the driver.
>>
>> The change fixes LPC32xx NAND MLC driver initialization on boot.
>
> Do you need to backport this fix to stable releases? If that's the
> case, I'll add the Cc: stable tag when applying.
that will be great if you can add
Cc: stable@kernel.org # v4.7+
Please feel free to add also the tag
Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
--
With best wishes,
Vladimir
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2017-01-03 10:16 ` Vladimir Zapolskiy
0 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2017-01-03 10:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi Boris,
On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> Hi Vladimir
>
> On Mon, 5 Dec 2016 03:47:10 +0200
> Vladimir Zapolskiy <vz@mleia.com> wrote:
>
>> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
>> disabled or enabled, in the latter case IRQs are allocated starting
>> at least from the value specified by NR_IRQS and going upwards, so
>> the check of (irq >= NR_IRQ) to decide about an error code returned by
>> platform_get_irq() is completely invalid, don't attempt to overrule
>> irq subsystem in the driver.
>>
>> The change fixes LPC32xx NAND MLC driver initialization on boot.
>
> Do you need to backport this fix to stable releases? If that's the
> case, I'll add the Cc: stable tag when applying.
that will be great if you can add
Cc: stable at kernel.org # v4.7+
Please feel free to add also the tag
Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
--
With best wishes,
Vladimir
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2017-01-03 10:16 ` Vladimir Zapolskiy
@ 2017-01-03 10:47 ` Boris Brezillon
-1 siblings, 0 replies; 14+ messages in thread
From: Boris Brezillon @ 2017-01-03 10:47 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Richard Weinberger, Sylvain Lemieux, Brian Norris, Marek Vasut,
linux-mtd, linux-arm-kernel
On Tue, 3 Jan 2017 12:16:26 +0200
Vladimir Zapolskiy <vz@mleia.com> wrote:
> Hi Boris,
>
> On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> > Hi Vladimir
> >
> > On Mon, 5 Dec 2016 03:47:10 +0200
> > Vladimir Zapolskiy <vz@mleia.com> wrote:
> >
> >> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> >> disabled or enabled, in the latter case IRQs are allocated starting
> >> at least from the value specified by NR_IRQS and going upwards, so
> >> the check of (irq >= NR_IRQ) to decide about an error code returned by
> >> platform_get_irq() is completely invalid, don't attempt to overrule
> >> irq subsystem in the driver.
> >>
> >> The change fixes LPC32xx NAND MLC driver initialization on boot.
> >
> > Do you need to backport this fix to stable releases? If that's the
> > case, I'll add the Cc: stable tag when applying.
>
> that will be great if you can add
>
> Cc: stable@kernel.org # v4.7+
>
> Please feel free to add also the tag
>
> Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
Applied to nand/next (this patch will appear in 4.11).
Thanks,
Boris
>
> --
> With best wishes,
> Vladimir
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2017-01-03 10:47 ` Boris Brezillon
0 siblings, 0 replies; 14+ messages in thread
From: Boris Brezillon @ 2017-01-03 10:47 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 3 Jan 2017 12:16:26 +0200
Vladimir Zapolskiy <vz@mleia.com> wrote:
> Hi Boris,
>
> On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> > Hi Vladimir
> >
> > On Mon, 5 Dec 2016 03:47:10 +0200
> > Vladimir Zapolskiy <vz@mleia.com> wrote:
> >
> >> Semantics of NR_IRQS is different on machines with SPARSE_IRQ option
> >> disabled or enabled, in the latter case IRQs are allocated starting
> >> at least from the value specified by NR_IRQS and going upwards, so
> >> the check of (irq >= NR_IRQ) to decide about an error code returned by
> >> platform_get_irq() is completely invalid, don't attempt to overrule
> >> irq subsystem in the driver.
> >>
> >> The change fixes LPC32xx NAND MLC driver initialization on boot.
> >
> > Do you need to backport this fix to stable releases? If that's the
> > case, I'll add the Cc: stable tag when applying.
>
> that will be great if you can add
>
> Cc: stable at kernel.org # v4.7+
>
> Please feel free to add also the tag
>
> Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
Applied to nand/next (this patch will appear in 4.11).
Thanks,
Boris
>
> --
> With best wishes,
> Vladimir
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2017-01-03 10:47 ` Boris Brezillon
@ 2017-01-05 17:58 ` Brian Norris
-1 siblings, 0 replies; 14+ messages in thread
From: Brian Norris @ 2017-01-05 17:58 UTC (permalink / raw)
To: Boris Brezillon
Cc: Vladimir Zapolskiy, Richard Weinberger, Sylvain Lemieux,
Marek Vasut, linux-mtd, linux-arm-kernel
On Tue, Jan 03, 2017 at 11:47:46AM +0100, Boris Brezillon wrote:
> On Tue, 3 Jan 2017 12:16:26 +0200
> Vladimir Zapolskiy <vz@mleia.com> wrote:
> > On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> > > Do you need to backport this fix to stable releases? If that's the
> > > case, I'll add the Cc: stable tag when applying.
> >
> > that will be great if you can add
> >
> > Cc: stable@kernel.org # v4.7+
> >
> > Please feel free to add also the tag
> >
> > Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
>
> Applied to nand/next (this patch will appear in 4.11).
For next time, checkpatch noticed that you got the stable address wrong:
ERROR:STABLE_ADDRESS: The 'stable' address should be 'stable@vger.kernel.org'
#17: Cc: stable@kernel.org # v4.7+
Brian
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2017-01-05 17:58 ` Brian Norris
0 siblings, 0 replies; 14+ messages in thread
From: Brian Norris @ 2017-01-05 17:58 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jan 03, 2017 at 11:47:46AM +0100, Boris Brezillon wrote:
> On Tue, 3 Jan 2017 12:16:26 +0200
> Vladimir Zapolskiy <vz@mleia.com> wrote:
> > On 01/03/2017 11:12 AM, Boris Brezillon wrote:
> > > Do you need to backport this fix to stable releases? If that's the
> > > case, I'll add the Cc: stable tag when applying.
> >
> > that will be great if you can add
> >
> > Cc: stable at kernel.org # v4.7+
> >
> > Please feel free to add also the tag
> >
> > Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
>
> Applied to nand/next (this patch will appear in 4.11).
For next time, checkpatch noticed that you got the stable address wrong:
ERROR:STABLE_ADDRESS: The 'stable' address should be 'stable at vger.kernel.org'
#17: Cc: stable at kernel.org # v4.7+
Brian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
2017-01-05 17:58 ` Brian Norris
@ 2017-01-05 18:19 ` Vladimir Zapolskiy
-1 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2017-01-05 18:19 UTC (permalink / raw)
To: Brian Norris, Boris Brezillon
Cc: Richard Weinberger, Sylvain Lemieux, Marek Vasut, linux-mtd,
linux-arm-kernel
On 01/05/2017 07:58 PM, Brian Norris wrote:
> On Tue, Jan 03, 2017 at 11:47:46AM +0100, Boris Brezillon wrote:
>> On Tue, 3 Jan 2017 12:16:26 +0200
>> Vladimir Zapolskiy <vz@mleia.com> wrote:
>>> On 01/03/2017 11:12 AM, Boris Brezillon wrote:
>>>> Do you need to backport this fix to stable releases? If that's the
>>>> case, I'll add the Cc: stable tag when applying.
>>>
>>> that will be great if you can add
>>>
>>> Cc: stable@kernel.org # v4.7+
>>>
>>> Please feel free to add also the tag
>>>
>>> Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
>>
>> Applied to nand/next (this patch will appear in 4.11).
>
> For next time, checkpatch noticed that you got the stable address wrong:
>
> ERROR:STABLE_ADDRESS: The 'stable' address should be 'stable@vger.kernel.org'
> #17: Cc: stable@kernel.org # v4.7+
>
> Brian
>
sorry, I've git-logged to commit 52bce91165 and pasted the address from
its commit message.
--
With best wishes,
Vladimir
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq
@ 2017-01-05 18:19 ` Vladimir Zapolskiy
0 siblings, 0 replies; 14+ messages in thread
From: Vladimir Zapolskiy @ 2017-01-05 18:19 UTC (permalink / raw)
To: linux-arm-kernel
On 01/05/2017 07:58 PM, Brian Norris wrote:
> On Tue, Jan 03, 2017 at 11:47:46AM +0100, Boris Brezillon wrote:
>> On Tue, 3 Jan 2017 12:16:26 +0200
>> Vladimir Zapolskiy <vz@mleia.com> wrote:
>>> On 01/03/2017 11:12 AM, Boris Brezillon wrote:
>>>> Do you need to backport this fix to stable releases? If that's the
>>>> case, I'll add the Cc: stable tag when applying.
>>>
>>> that will be great if you can add
>>>
>>> Cc: stable at kernel.org # v4.7+
>>>
>>> Please feel free to add also the tag
>>>
>>> Fixes: 8cb17b5ed017 ("irqchip: Add LPC32xx interrupt controller driver")
>>
>> Applied to nand/next (this patch will appear in 4.11).
>
> For next time, checkpatch noticed that you got the stable address wrong:
>
> ERROR:STABLE_ADDRESS: The 'stable' address should be 'stable at vger.kernel.org'
> #17: Cc: stable at kernel.org # v4.7+
>
> Brian
>
sorry, I've git-logged to commit 52bce91165 and pasted the address from
its commit message.
--
With best wishes,
Vladimir
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2017-01-05 18:19 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-05 1:47 [PATCH] mtd: nand: lpc32xx: fix invalid error handling of a requested irq Vladimir Zapolskiy
2016-12-05 1:47 ` Vladimir Zapolskiy
2016-12-07 18:09 ` Sylvain Lemieux
2016-12-07 18:09 ` Sylvain Lemieux
2017-01-03 9:12 ` Boris Brezillon
2017-01-03 9:12 ` Boris Brezillon
2017-01-03 10:16 ` Vladimir Zapolskiy
2017-01-03 10:16 ` Vladimir Zapolskiy
2017-01-03 10:47 ` Boris Brezillon
2017-01-03 10:47 ` Boris Brezillon
2017-01-05 17:58 ` Brian Norris
2017-01-05 17:58 ` Brian Norris
2017-01-05 18:19 ` Vladimir Zapolskiy
2017-01-05 18:19 ` Vladimir Zapolskiy
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.