linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] nvme-pci: Log failures to probe
@ 2025-10-20 15:29 Gerd Bayer
  2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
  2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
  0 siblings, 2 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-20 15:29 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme, linux-kernel, Gerd Bayer

Hi,

occasionally, an NVMe drive fails to reply to MMIO reads despite the PCI
link being operational. In these situations (obviously not on the
boot-device :) it is preferred to have this reported in the kernel log
instead of deducing that something is wrong by comparing expectated vs.
observed number of nvme devices.

 - 1/2 adds a clear indication that the device driver failed to probe an
   NVMe drive and will not register a nvme device.
 - 2/2 adds a debug log that allows to further zoom in on the exact
   failure

I've split this into two patches, since 2/2 might be less important wrt
to back-ports, etc.

Thanks,
Gerd

Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
---
Gerd Bayer (2):
      nvme-pci: Print error message on failure in nvme_probe
      nvme-pci: Add debug message on fail to read CSTS

 drivers/nvme/host/pci.c | 3 +++
 1 file changed, 3 insertions(+)
---
base-commit: 211ddde0823f1442e4ad052a2f30f050145ccada
change-id: 20251015-nvme_probefail-3976120a4719

Best regards,
-- 
Gerd Bayer <gbayer@linux.ibm.com>



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

* [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-20 15:29 [PATCH 0/2] nvme-pci: Log failures to probe Gerd Bayer
@ 2025-10-20 15:29 ` Gerd Bayer
  2025-10-20 23:35   ` Chaitanya Kulkarni
                     ` (2 more replies)
  2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
  1 sibling, 3 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-20 15:29 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme, linux-kernel, Gerd Bayer

Add a new error message like
nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
that makes failures to probe visible in the kernel log.

Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
---
 drivers/nvme/host/pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index c916176bd9f058b49e6e6768675711df52b15765..7544c4bac2c4a230d32cf729abb9e94bf93a921f 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3519,6 +3519,8 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 out_dev_unmap:
 	nvme_dev_unmap(dev);
 out_uninit_ctrl:
+	dev_err(dev->ctrl.device, "probe failed on %s (result: %d)\n",
+		dev_name(&pdev->dev), result);
 	nvme_uninit_ctrl(&dev->ctrl);
 out_put_ctrl:
 	nvme_put_ctrl(&dev->ctrl);

-- 
2.48.1



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

* [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS
  2025-10-20 15:29 [PATCH 0/2] nvme-pci: Log failures to probe Gerd Bayer
  2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
@ 2025-10-20 15:29 ` Gerd Bayer
  2025-10-20 23:34   ` Chaitanya Kulkarni
                     ` (2 more replies)
  1 sibling, 3 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-20 15:29 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme, linux-kernel, Gerd Bayer

Add a debug log spelling out that reading the CSTS register failed - to
distinguish this from other reasons for ENODEV.

Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
---
 drivers/nvme/host/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 7544c4bac2c4a230d32cf729abb9e94bf93a921f..c3b0a9d56ac1f32f67ce0890becd6425eb80ebad 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2906,6 +2906,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
 	pci_set_master(pdev);
 
 	if (readl(dev->bar + NVME_REG_CSTS) == -1) {
+		dev_dbg(dev->ctrl.device, "Read CSTS register failed");
 		result = -ENODEV;
 		goto disable;
 	}

-- 
2.48.1



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

* Re: [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS
  2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
@ 2025-10-20 23:34   ` Chaitanya Kulkarni
  2025-10-22  6:24   ` Wilfred Mallawa
  2025-10-22  6:27   ` Christoph Hellwig
  2 siblings, 0 replies; 13+ messages in thread
From: Chaitanya Kulkarni @ 2025-10-20 23:34 UTC (permalink / raw)
  To: Gerd Bayer, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme@lists.infradead.org,
	linux-kernel@vger.kernel.org

On 10/20/25 08:29, Gerd Bayer wrote:
> Add a debug log spelling out that reading the CSTS register failed - to
> distinguish this from other reasons for ENODEV.
>
> Signed-off-by: Gerd Bayer<gbayer@linux.ibm.com>

Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck



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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
@ 2025-10-20 23:35   ` Chaitanya Kulkarni
  2025-10-21  8:13     ` Gerd Bayer
  2025-10-22  6:22   ` Wilfred Mallawa
  2025-10-22  6:26   ` Christoph Hellwig
  2 siblings, 1 reply; 13+ messages in thread
From: Chaitanya Kulkarni @ 2025-10-20 23:35 UTC (permalink / raw)
  To: linux-nvme@lists.infradead.org

On 10/20/25 08:29, Gerd Bayer wrote:
> Add a new error message like
> nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> that makes failures to probe visible in the kernel log.
>
> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> ---
>   drivers/nvme/host/pci.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index c916176bd9f058b49e6e6768675711df52b15765..7544c4bac2c4a230d32cf729abb9e94bf93a921f 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3519,6 +3519,8 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>   out_dev_unmap:
>   	nvme_dev_unmap(dev);
>   out_uninit_ctrl:
> +	dev_err(dev->ctrl.device, "probe failed on %s (result: %d)\n",
> +		dev_name(&pdev->dev), result);

is it really have to be dev_err ? or dev_dbg would work ?


>   	nvme_uninit_ctrl(&dev->ctrl);
>   out_put_ctrl:
>   	nvme_put_ctrl(&dev->ctrl);
>

-ck



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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-20 23:35   ` Chaitanya Kulkarni
@ 2025-10-21  8:13     ` Gerd Bayer
  0 siblings, 0 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-21  8:13 UTC (permalink / raw)
  To: Chaitanya Kulkarni, linux-nvme@lists.infradead.org; +Cc: Gerd Bayer

On Mon, 2025-10-20 at 23:35 +0000, Chaitanya Kulkarni wrote:
> On 10/20/25 08:29, Gerd Bayer wrote:
> > Add a new error message like
> > nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> > that makes failures to probe visible in the kernel log.
> > 
> > Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> > ---
> >   drivers/nvme/host/pci.c | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> > index
> > c916176bd9f058b49e6e6768675711df52b15765..7544c4bac2c4a230d32cf729a
> > bb9e94bf93a921f 100644
> > --- a/drivers/nvme/host/pci.c
> > +++ b/drivers/nvme/host/pci.c
> > @@ -3519,6 +3519,8 @@ static int nvme_probe(struct pci_dev *pdev,
> > const struct pci_device_id *id)
> >   out_dev_unmap:
> >   	nvme_dev_unmap(dev);
> >   out_uninit_ctrl:
> > +	dev_err(dev->ctrl.device, "probe failed on %s (result:
> > %d)\n",
> > +		dev_name(&pdev->dev), result);
> 
> is it really have to be dev_err ? or dev_dbg would work ?

I've almost overlooked this question, since I'm not subscribed to the
list - found it on lore.

dev_dbg is too weak IMHO. I assmume most installations don't log debug-
level and would require a repro with dynamic_debug turned on. My intent
was to highlight the abnormal behavior even in default kernel configs.
I was following the example in mlx5_core that produces error-level
messages when probe fails.

Thanks,
Gerd

> 
> 
> >   	nvme_uninit_ctrl(&dev->ctrl);
> >   out_put_ctrl:
> >   	nvme_put_ctrl(&dev->ctrl);
> > 
> 
> -ck
> 


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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
  2025-10-20 23:35   ` Chaitanya Kulkarni
@ 2025-10-22  6:22   ` Wilfred Mallawa
  2025-10-22  6:26   ` Christoph Hellwig
  2 siblings, 0 replies; 13+ messages in thread
From: Wilfred Mallawa @ 2025-10-22  6:22 UTC (permalink / raw)
  To: Gerd Bayer, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme, linux-kernel

On Mon, 2025-10-20 at 17:29 +0200, Gerd Bayer wrote:
> Add a new error message like
> nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> that makes failures to probe visible in the kernel log.
> 
> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> ---
>  drivers/nvme/host/pci.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index
> c916176bd9f058b49e6e6768675711df52b15765..7544c4bac2c4a230d32cf729abb
> 9e94bf93a921f 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -3519,6 +3519,8 @@ static int nvme_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
>  out_dev_unmap:
>  	nvme_dev_unmap(dev);
>  out_uninit_ctrl:
> +	dev_err(dev->ctrl.device, "probe failed on %s (result:
> %d)\n",
> +		dev_name(&pdev->dev), result);
>  	nvme_uninit_ctrl(&dev->ctrl);
>  out_put_ctrl:
>  	nvme_put_ctrl(&dev->ctrl);
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>

Wilfred


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

* Re: [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS
  2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
  2025-10-20 23:34   ` Chaitanya Kulkarni
@ 2025-10-22  6:24   ` Wilfred Mallawa
  2025-10-22  6:27   ` Christoph Hellwig
  2 siblings, 0 replies; 13+ messages in thread
From: Wilfred Mallawa @ 2025-10-22  6:24 UTC (permalink / raw)
  To: Gerd Bayer, Keith Busch, Jens Axboe, Christoph Hellwig,
	Sagi Grimberg
  Cc: Niklas Schnelle, linux-nvme, linux-kernel

On Mon, 2025-10-20 at 17:29 +0200, Gerd Bayer wrote:
> Add a debug log spelling out that reading the CSTS register failed -
> to
> distinguish this from other reasons for ENODEV.
> 
> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> ---
>  drivers/nvme/host/pci.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index
> 7544c4bac2c4a230d32cf729abb9e94bf93a921f..c3b0a9d56ac1f32f67ce0890bec
> d6425eb80ebad 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -2906,6 +2906,7 @@ static int nvme_pci_enable(struct nvme_dev
> *dev)
>  	pci_set_master(pdev);
>  
>  	if (readl(dev->bar + NVME_REG_CSTS) == -1) {
> +		dev_dbg(dev->ctrl.device, "Read CSTS register
> failed");
>  		result = -ENODEV;
>  		goto disable;
>  	}
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>

Wilfred


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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
  2025-10-20 23:35   ` Chaitanya Kulkarni
  2025-10-22  6:22   ` Wilfred Mallawa
@ 2025-10-22  6:26   ` Christoph Hellwig
  2025-10-22  7:48     ` Greg Kroah-Hartman
  2 siblings, 1 reply; 13+ messages in thread
From: Christoph Hellwig @ 2025-10-22  6:26 UTC (permalink / raw)
  To: Gerd Bayer
  Cc: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	Niklas Schnelle, linux-nvme, linux-kernel, Greg Kroah-Hartman

On Mon, Oct 20, 2025 at 05:29:07PM +0200, Gerd Bayer wrote:
> Add a new error message like
> nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> that makes failures to probe visible in the kernel log.

Is that really a thing drivers are expected to do?  If it is generally
usefull I'd expect it to be in the driver core.

Also for nvme most "interesting" errors happen in the reset workqueue
and not in ->probe itself.


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

* Re: [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS
  2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
  2025-10-20 23:34   ` Chaitanya Kulkarni
  2025-10-22  6:24   ` Wilfred Mallawa
@ 2025-10-22  6:27   ` Christoph Hellwig
  2025-10-22  8:21     ` Gerd Bayer
  2 siblings, 1 reply; 13+ messages in thread
From: Christoph Hellwig @ 2025-10-22  6:27 UTC (permalink / raw)
  To: Gerd Bayer
  Cc: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	Niklas Schnelle, linux-nvme, linux-kernel

On Mon, Oct 20, 2025 at 05:29:08PM +0200, Gerd Bayer wrote:
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 7544c4bac2c4a230d32cf729abb9e94bf93a921f..c3b0a9d56ac1f32f67ce0890becd6425eb80ebad 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -2906,6 +2906,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
>  	pci_set_master(pdev);
>  
>  	if (readl(dev->bar + NVME_REG_CSTS) == -1) {
> +		dev_dbg(dev->ctrl.device, "Read CSTS register failed");

Should this say "reading" instead of "read"?  Also most (but not
all) nvme errors don't start with capitalized words, like most drivers
as far as I can tell.



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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-22  6:26   ` Christoph Hellwig
@ 2025-10-22  7:48     ` Greg Kroah-Hartman
  2025-10-22  8:20       ` Gerd Bayer
  0 siblings, 1 reply; 13+ messages in thread
From: Greg Kroah-Hartman @ 2025-10-22  7:48 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Gerd Bayer, Keith Busch, Jens Axboe, Sagi Grimberg,
	Niklas Schnelle, linux-nvme, linux-kernel

On Wed, Oct 22, 2025 at 08:26:34AM +0200, Christoph Hellwig wrote:
> On Mon, Oct 20, 2025 at 05:29:07PM +0200, Gerd Bayer wrote:
> > Add a new error message like
> > nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> > that makes failures to probe visible in the kernel log.
> 
> Is that really a thing drivers are expected to do?  If it is generally
> usefull I'd expect it to be in the driver core.

We have that already, dev_err_probe(), no need to create
yet-another-version of that.

thanks,

greg k-h


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

* Re: [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe
  2025-10-22  7:48     ` Greg Kroah-Hartman
@ 2025-10-22  8:20       ` Gerd Bayer
  0 siblings, 0 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-22  8:20 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Christoph Hellwig
  Cc: Keith Busch, Jens Axboe, Sagi Grimberg, Niklas Schnelle,
	linux-nvme, linux-kernel

On Wed, 2025-10-22 at 09:48 +0200, Greg Kroah-Hartman wrote:
> On Wed, Oct 22, 2025 at 08:26:34AM +0200, Christoph Hellwig wrote:
> > On Mon, Oct 20, 2025 at 05:29:07PM +0200, Gerd Bayer wrote:
> > > Add a new error message like
> > > nvme nvme0: probe failed on 2004:00:00.0 (result: -19)
> > > that makes failures to probe visible in the kernel log.
> > 
> > Is that really a thing drivers are expected to do?  If it is generally
> > usefull I'd expect it to be in the driver core.
> 
> We have that already, dev_err_probe(), no need to create
> yet-another-version of that.

So I take this as an implict answer to the question, if drivers are
expected to do this or the driver core: Drivers.


Before learning about dev_err_probe() I was sampling a few drivers'
probe functions and got inconclusive results regarding their verbosity
regarding logging errors in probe. Interestingly, none of my samples
used dev_err_probe()...

While for most drivers it may be obvious that in most sytem
configurations it will not go unnoticed that e.g. the graphics
controller failed to probe - there may be other
components/configurations and a centralized error reporting e.g. in
local_pci_probe() would have its benefits. But then with so many
drivers already using dev_err_probe(), we don't want to report this
twice, now.

Thus, I'm going to convert my patch over for a v2.

Thanks,
Gerd


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

* Re: [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS
  2025-10-22  6:27   ` Christoph Hellwig
@ 2025-10-22  8:21     ` Gerd Bayer
  0 siblings, 0 replies; 13+ messages in thread
From: Gerd Bayer @ 2025-10-22  8:21 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Keith Busch, Jens Axboe, Sagi Grimberg, Niklas Schnelle,
	linux-nvme, linux-kernel

On Wed, 2025-10-22 at 08:27 +0200, Christoph Hellwig wrote:
> On Mon, Oct 20, 2025 at 05:29:08PM +0200, Gerd Bayer wrote:
> > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> > index 7544c4bac2c4a230d32cf729abb9e94bf93a921f..c3b0a9d56ac1f32f67ce0890becd6425eb80ebad 100644
> > --- a/drivers/nvme/host/pci.c
> > +++ b/drivers/nvme/host/pci.c
> > @@ -2906,6 +2906,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
> >  	pci_set_master(pdev);
> >  
> >  	if (readl(dev->bar + NVME_REG_CSTS) == -1) {
> > +		dev_dbg(dev->ctrl.device, "Read CSTS register failed");
> 
> Should this say "reading" instead of "read"?  Also most (but not
> all) nvme errors don't start with capitalized words, like most drivers
> as far as I can tell.

I'll change that in a v2.

Thanks,
Gerd


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

end of thread, other threads:[~2025-10-22  8:22 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-20 15:29 [PATCH 0/2] nvme-pci: Log failures to probe Gerd Bayer
2025-10-20 15:29 ` [PATCH 1/2] nvme-pci: Print error message on failure in nvme_probe Gerd Bayer
2025-10-20 23:35   ` Chaitanya Kulkarni
2025-10-21  8:13     ` Gerd Bayer
2025-10-22  6:22   ` Wilfred Mallawa
2025-10-22  6:26   ` Christoph Hellwig
2025-10-22  7:48     ` Greg Kroah-Hartman
2025-10-22  8:20       ` Gerd Bayer
2025-10-20 15:29 ` [PATCH 2/2] nvme-pci: Add debug message on fail to read CSTS Gerd Bayer
2025-10-20 23:34   ` Chaitanya Kulkarni
2025-10-22  6:24   ` Wilfred Mallawa
2025-10-22  6:27   ` Christoph Hellwig
2025-10-22  8:21     ` Gerd Bayer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).