public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 1/3] scsi : megaraid_{mm,mbox}: 64-bit DMA capability checker
       [not found] <890BF3111FB9484E9526987D912B261902CDA9@NAMAIL3.ad.lsil.com>
@ 2006-07-24  8:08 ` Vasily Averin
  0 siblings, 0 replies; 4+ messages in thread
From: Vasily Averin @ 2006-07-24  8:08 UTC (permalink / raw)
  To: Ju, Seokmann
  Cc: James.Bottomley, akpm, linux-scsi, linux-kernel, Patro, Sumant,
	yang.bo

Ju, Seokmann wrote:
> Hi,
> With patch, the driver access PCIconfiguration space with dedicated 
> offset to read a signature. If the signature read, it means that the 
> controller has capability to handle 64-bit DMA. 
> Without this patch, the driver blindly claimed 64-bit DMA capability
> without checking with controller.
> The issue has been reported by Vasily Averin. 

> +	if (((magic64 == HBA_SIGNATURE_64_BIT) &&
> +		(adapter->pdev->subsystem_device !=
> +		PCI_SUBSYS_ID_MEGARAID_SATA_150_6)) ||

I would note that I've reported about issue on SATA_150_4 device. I can also
accept that similar patch fixes this issue.

> +		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
> +		adapter->pdev->device == PCI_DEVICE_ID_VERDE) || 
> +		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
> +		adapter->pdev->device == PCI_DEVICE_ID_DOBSON) || 
> +		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
> +		adapter->pdev->device == PCI_DEVICE_ID_LINDSAY) || 
> +		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
> +		adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) || 
> +		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
> +		adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {

Thank you,
	Vasily Averin

SWsoft Virtuozzo/OpenVZ Linux kernel team

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

* [PATCH 1/3] scsi : megaraid_{mm,mbox}: 64-bit DMA capability checker
@ 2006-07-25 14:44 Ju, Seokmann
  2006-07-25 15:10 ` Arjan van de Ven
  2006-07-28 18:20 ` James Bottomley
  0 siblings, 2 replies; 4+ messages in thread
From: Ju, Seokmann @ 2006-07-25 14:44 UTC (permalink / raw)
  To: vvs, James.Bottomley, akpm
  Cc: linux-scsi, linux-kernel, Patro, Sumant, Yang, Bo

[-- Attachment #1: Type: text/plain, Size: 7068 bytes --]

Hi,

This patch contains 
- a fix for 64-bit DMA capability check in megaraid_{mm,mbox} driver.
- includes changes (going back to 32-bit DMA mask if 64-bit DMA mask
failes) suggested by James with previous patch.
- addition of SATA 150-4/6 as commented by Vasily Averin.

With patch, the driver access PCIconfiguration space with dedicated 
offset to read a signature. If the signature read, it means that the 
controller has capability to handle 64-bit DMA. 
Without this patch, the driver used to blindly claim 64-bit DMA
capability.
The issue has been reported by Vasily Averin [vvs@sw.ru]. 
Thank you Vasily for the reporting.

Thank you,

Seokmann

Signed-Off By: Seokmann Ju <seokmann.ju@lsil.com>
---
diff -Naur git/Documentation/scsi/ChangeLog.megaraid
64bitdma/Documentation/scsi/ChangeLog.megaraid
--- git/Documentation/scsi/ChangeLog.megaraid	2006-07-16
16:22:29.000000000 -0400
+++ 64bitdma/Documentation/scsi/ChangeLog.megaraid	2006-07-17
18:01:21.000000000 -0400
@@ -1,3 +1,64 @@
+Release Date	: Fri May 19 09:31:45 EST 2006 - Seokmann Ju
<sju@lsil.com>
+Current Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
+Older Version	: 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
+
+1.	Fixed a bug in megaraid_init_mbox().
+	Customer reported "garbage in file on x86_64 platform".
+	Root Cause: the driver registered controllers as 64-bit DMA
capable
+	for those which are not support it.
+	Fix: Made change in the function inserting identification
machanism
+	identifying 64-bit DMA capable controllers.
+
+	> -----Original Message-----
+	> From: Vasily Averin [mailto:vvs@sw.ru] 
+	> Sent: Thursday, May 04, 2006 2:49 PM
+	> To: linux-scsi@vger.kernel.org; Kolli, Neela; Mukker, Atul; 
+	> Ju, Seokmann; Bagalkote, Sreenivas; 
+	> James.Bottomley@SteelEye.com; devel@openvz.org
+	> Subject: megaraid_mbox: garbage in file
+	> 
+	> Hello all,
+	> 
+	> I've investigated customers claim on the unstable work of 
+	> their node and found a
+	> strange effect: reading from some files leads to the
+	>  "attempt to access beyond end of device" messages.
+	> 
+	> I've checked filesystem, memory on the node, motherboard BIOS 
+	> version, but it
+	> does not help and issue still has been reproduced by simple 
+	> file reading.
+	> 
+	> Reproducer is simple:
+	> 
+	> echo 0xffffffff >/proc/sys/dev/scsi/logging_level ;
+	> cat /vz/private/101/root/etc/ld.so.cache >/tmp/ttt  ;
+	> echo 0 >/proc/sys/dev/scsi/logging
+	> 
+	> It leads to the following messages in dmesg
+	> 
+	> sd_init_command: disk=sda, block=871769260, count=26
+	> sda : block=871769260
+	> sda : reading 26/26 512 byte blocks.
+	> scsi_add_timer: scmd: f79ed980, time: 7500, (c02b1420)
+	> sd 0:1:0:0: send 0xf79ed980                  sd 0:1:0:0:
+	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
+	> buffer = 0xf7cfb540, bufflen = 13312, done = 0xc0366b40, 
+	> queuecommand 0xc0344010
+	> leaving scsi_dispatch_cmnd()
+	> scsi_delete_timer: scmd: f79ed980, rtn: 1
+	> sd 0:1:0:0: done 0xf79ed980 SUCCESS        0 sd 0:1:0:0:
+	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
+	> scsi host busy 1 failed 0
+	> sd 0:1:0:0: Notifying upper driver of completion (result 0)
+	> sd_rw_intr: sda: res=0x0
+	> 26 sectors total, 13312 bytes done.
+	> use_sg is 4
+	> attempt to access beyond end of device
+	> sda6: rw=0, want=1044134458, limit=951401367
+	> Buffer I/O error on device sda6, logical block 522067228
+	> attempt to access beyond end of device
+
 Release Date	: Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju
<sju@lsil.com>
 Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
 Older Version	: 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
diff -Naur git/drivers/scsi/megaraid/mega_common.h
64bitdma/drivers/scsi/megaraid/mega_common.h
--- git/drivers/scsi/megaraid/mega_common.h	2006-07-16
16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/mega_common.h	2006-07-24
15:30:45.000000000 -0400
@@ -37,6 +37,9 @@
 #define LSI_MAX_CHANNELS		16
 #define LSI_MAX_LOGICAL_DRIVES_64LD	(64+1)
 
+#define HBA_SIGNATURE_64_BIT		0x299
+#define PCI_CONF_AMISIG64		0xa4
+
 
 /**
  * scb_t - scsi command control block
diff -Naur git/drivers/scsi/megaraid/megaraid_mbox.c
64bitdma/drivers/scsi/megaraid/megaraid_mbox.c
--- git/drivers/scsi/megaraid/megaraid_mbox.c	2006-07-16
16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/megaraid_mbox.c	2006-07-25
09:50:26.000000000 -0400
@@ -10,7 +10,7 @@
  *	   2 of the License, or (at your option) any later version.
  *
  * FILE		: megaraid_mbox.c
- * Version	: v2.20.4.8 (Apr 11 2006)
+ * Version	: v2.20.4.9 (Jul 16 2006)
  *
  * Authors:
  * 	Atul Mukker		<Atul.Mukker@lsil.com>
@@ -720,6 +720,7 @@
 	struct pci_dev		*pdev;
 	mraid_device_t		*raid_dev;
 	int			i;
+	uint32_t		magic64;
 
 
 	adapter->ito	= MBOX_TIMEOUT;
@@ -863,12 +864,33 @@
 
 	// Set the DMA mask to 64-bit. All supported controllers as
capable of
 	// DMA in this range
-	if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK) != 0) {
+	pci_read_config_dword(adapter->pdev, PCI_CONF_AMISIG64,
&magic64);
 
-		con_log(CL_ANN, (KERN_WARNING
-			"megaraid: could not set DMA mask for
64-bit.\n"));
-
-		goto out_free_sysfs_res;
+	if (((magic64 == HBA_SIGNATURE_64_BIT) &&
+		((adapter->pdev->subsystem_device !=
+		PCI_SUBSYS_ID_MEGARAID_SATA_150_6) ||
+		(adapter->pdev->subsystem_device !=
+		PCI_SUBSYS_ID_MEGARAID_SATA_150_4))) ||
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_VERDE) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_DOBSON) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_LINDSAY) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
+		adapter->pdev->device ==
PCI_DEVICE_ID_PERC4_DI_EVERGLADES) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
+		adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK))
{  
+		if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK)) {
+			con_log(CL_ANN, (KERN_WARNING 
+				"megaraid: DMA mask for 64-bit
failed\n"));
+
+			if (pci_set_dma_mask (adapter->pdev,
DMA_32BIT_MASK)) {
+				con_log(CL_ANN, (KERN_WARNING 
+					"megaraid: 32-bit DMA mask
failed\n"));
+				goto out_free_sysfs_res;
+			}
+		}
 	}
 
 	// setup tasklet for DPC
diff -Naur git/drivers/scsi/megaraid/megaraid_mbox.h
64bitdma/drivers/scsi/megaraid/megaraid_mbox.h
--- git/drivers/scsi/megaraid/megaraid_mbox.h	2006-07-16
16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/megaraid_mbox.h	2006-07-24
15:30:23.000000000 -0400
@@ -21,8 +21,8 @@
 #include "megaraid_ioctl.h"
 
 
-#define MEGARAID_VERSION	"2.20.4.8"
-#define MEGARAID_EXT_VERSION	"(Release Date: Mon Apr 11 12:27:22 EST
2006)"
+#define MEGARAID_VERSION	"2.20.4.9"
+#define MEGARAID_EXT_VERSION	"(Release Date: Sun Jul 16 12:27:22 EST
2006)"
 
 
 /*
---

[-- Attachment #2: megaraid_64bitdmacheck.patch --]
[-- Type: application/octet-stream, Size: 6153 bytes --]

diff -Naur git/Documentation/scsi/ChangeLog.megaraid 64bitdma/Documentation/scsi/ChangeLog.megaraid
--- git/Documentation/scsi/ChangeLog.megaraid	2006-07-16 16:22:29.000000000 -0400
+++ 64bitdma/Documentation/scsi/ChangeLog.megaraid	2006-07-17 18:01:21.000000000 -0400
@@ -1,3 +1,64 @@
+Release Date	: Fri May 19 09:31:45 EST 2006 - Seokmann Ju <sju@lsil.com>
+Current Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
+Older Version	: 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
+
+1.	Fixed a bug in megaraid_init_mbox().
+	Customer reported "garbage in file on x86_64 platform".
+	Root Cause: the driver registered controllers as 64-bit DMA capable
+	for those which are not support it.
+	Fix: Made change in the function inserting identification machanism
+	identifying 64-bit DMA capable controllers.
+
+	> -----Original Message-----
+	> From: Vasily Averin [mailto:vvs@sw.ru] 
+	> Sent: Thursday, May 04, 2006 2:49 PM
+	> To: linux-scsi@vger.kernel.org; Kolli, Neela; Mukker, Atul; 
+	> Ju, Seokmann; Bagalkote, Sreenivas; 
+	> James.Bottomley@SteelEye.com; devel@openvz.org
+	> Subject: megaraid_mbox: garbage in file
+	> 
+	> Hello all,
+	> 
+	> I've investigated customers claim on the unstable work of 
+	> their node and found a
+	> strange effect: reading from some files leads to the
+	>  "attempt to access beyond end of device" messages.
+	> 
+	> I've checked filesystem, memory on the node, motherboard BIOS 
+	> version, but it
+	> does not help and issue still has been reproduced by simple 
+	> file reading.
+	> 
+	> Reproducer is simple:
+	> 
+	> echo 0xffffffff >/proc/sys/dev/scsi/logging_level ;
+	> cat /vz/private/101/root/etc/ld.so.cache >/tmp/ttt  ;
+	> echo 0 >/proc/sys/dev/scsi/logging
+	> 
+	> It leads to the following messages in dmesg
+	> 
+	> sd_init_command: disk=sda, block=871769260, count=26
+	> sda : block=871769260
+	> sda : reading 26/26 512 byte blocks.
+	> scsi_add_timer: scmd: f79ed980, time: 7500, (c02b1420)
+	> sd 0:1:0:0: send 0xf79ed980                  sd 0:1:0:0:
+	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
+	> buffer = 0xf7cfb540, bufflen = 13312, done = 0xc0366b40, 
+	> queuecommand 0xc0344010
+	> leaving scsi_dispatch_cmnd()
+	> scsi_delete_timer: scmd: f79ed980, rtn: 1
+	> sd 0:1:0:0: done 0xf79ed980 SUCCESS        0 sd 0:1:0:0:
+	>         command: Read (10): 28 00 33 f6 24 ac 00 00 1a 00
+	> scsi host busy 1 failed 0
+	> sd 0:1:0:0: Notifying upper driver of completion (result 0)
+	> sd_rw_intr: sda: res=0x0
+	> 26 sectors total, 13312 bytes done.
+	> use_sg is 4
+	> attempt to access beyond end of device
+	> sda6: rw=0, want=1044134458, limit=951401367
+	> Buffer I/O error on device sda6, logical block 522067228
+	> attempt to access beyond end of device
+
 Release Date	: Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@lsil.com>
 Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
 Older Version	: 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
diff -Naur git/drivers/scsi/megaraid/mega_common.h 64bitdma/drivers/scsi/megaraid/mega_common.h
--- git/drivers/scsi/megaraid/mega_common.h	2006-07-16 16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/mega_common.h	2006-07-24 15:30:45.000000000 -0400
@@ -37,6 +37,9 @@
 #define LSI_MAX_CHANNELS		16
 #define LSI_MAX_LOGICAL_DRIVES_64LD	(64+1)
 
+#define HBA_SIGNATURE_64_BIT		0x299
+#define PCI_CONF_AMISIG64		0xa4
+
 
 /**
  * scb_t - scsi command control block
diff -Naur git/drivers/scsi/megaraid/megaraid_mbox.c 64bitdma/drivers/scsi/megaraid/megaraid_mbox.c
--- git/drivers/scsi/megaraid/megaraid_mbox.c	2006-07-16 16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/megaraid_mbox.c	2006-07-25 09:50:26.000000000 -0400
@@ -10,7 +10,7 @@
  *	   2 of the License, or (at your option) any later version.
  *
  * FILE		: megaraid_mbox.c
- * Version	: v2.20.4.8 (Apr 11 2006)
+ * Version	: v2.20.4.9 (Jul 16 2006)
  *
  * Authors:
  * 	Atul Mukker		<Atul.Mukker@lsil.com>
@@ -720,6 +720,7 @@
 	struct pci_dev		*pdev;
 	mraid_device_t		*raid_dev;
 	int			i;
+	uint32_t		magic64;
 
 
 	adapter->ito	= MBOX_TIMEOUT;
@@ -863,12 +864,33 @@
 
 	// Set the DMA mask to 64-bit. All supported controllers as capable of
 	// DMA in this range
-	if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK) != 0) {
+	pci_read_config_dword(adapter->pdev, PCI_CONF_AMISIG64, &magic64);
 
-		con_log(CL_ANN, (KERN_WARNING
-			"megaraid: could not set DMA mask for 64-bit.\n"));
-
-		goto out_free_sysfs_res;
+	if (((magic64 == HBA_SIGNATURE_64_BIT) &&
+		((adapter->pdev->subsystem_device !=
+		PCI_SUBSYS_ID_MEGARAID_SATA_150_6) ||
+		(adapter->pdev->subsystem_device !=
+		PCI_SUBSYS_ID_MEGARAID_SATA_150_4))) ||
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_VERDE) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_DOBSON) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC && 
+		adapter->pdev->device == PCI_DEVICE_ID_LINDSAY) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
+		adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) || 
+		(adapter->pdev->vendor == PCI_VENDOR_ID_DELL && 
+		adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {  
+		if (pci_set_dma_mask(adapter->pdev, DMA_64BIT_MASK)) {
+			con_log(CL_ANN, (KERN_WARNING 
+				"megaraid: DMA mask for 64-bit failed\n"));
+
+			if (pci_set_dma_mask (adapter->pdev, DMA_32BIT_MASK)) {
+				con_log(CL_ANN, (KERN_WARNING 
+					"megaraid: 32-bit DMA mask failed\n"));
+				goto out_free_sysfs_res;
+			}
+		}
 	}
 
 	// setup tasklet for DPC
diff -Naur git/drivers/scsi/megaraid/megaraid_mbox.h 64bitdma/drivers/scsi/megaraid/megaraid_mbox.h
--- git/drivers/scsi/megaraid/megaraid_mbox.h	2006-07-16 16:22:29.000000000 -0400
+++ 64bitdma/drivers/scsi/megaraid/megaraid_mbox.h	2006-07-24 15:30:23.000000000 -0400
@@ -21,8 +21,8 @@
 #include "megaraid_ioctl.h"
 
 
-#define MEGARAID_VERSION	"2.20.4.8"
-#define MEGARAID_EXT_VERSION	"(Release Date: Mon Apr 11 12:27:22 EST 2006)"
+#define MEGARAID_VERSION	"2.20.4.9"
+#define MEGARAID_EXT_VERSION	"(Release Date: Sun Jul 16 12:27:22 EST 2006)"
 
 
 /*

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

* Re: [PATCH 1/3] scsi : megaraid_{mm,mbox}: 64-bit DMA capability checker
  2006-07-25 14:44 Ju, Seokmann
@ 2006-07-25 15:10 ` Arjan van de Ven
  2006-07-28 18:20 ` James Bottomley
  1 sibling, 0 replies; 4+ messages in thread
From: Arjan van de Ven @ 2006-07-25 15:10 UTC (permalink / raw)
  To: Ju, Seokmann
  Cc: vvs, James.Bottomley, akpm, linux-scsi, linux-kernel,
	Patro, Sumant, Yang, Bo


> +1.	Fixed a bug in megaraid_init_mbox().
> +	Customer reported "garbage in file on x86_64 platform".
> +	Root Cause: the driver registered controllers as 64-bit DMA
> capable
> +	for those which are not support it.
> +	Fix: Made change in the function inserting identification
> machanism
> +	identifying 64-bit DMA capable controllers.
> +

Hi,

unfortunately your patch has been corrupted by your email program,
and as such can't be applied by the scsi maintainer. It might be 
a good idea to fix your email program and then resend quickly before 
James notices ;)

Greetings,
   Arjan van de Ven


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

* Re: [PATCH 1/3] scsi : megaraid_{mm,mbox}: 64-bit DMA capability checker
  2006-07-25 14:44 Ju, Seokmann
  2006-07-25 15:10 ` Arjan van de Ven
@ 2006-07-28 18:20 ` James Bottomley
  1 sibling, 0 replies; 4+ messages in thread
From: James Bottomley @ 2006-07-28 18:20 UTC (permalink / raw)
  To: Ju, Seokmann; +Cc: vvs, akpm, linux-scsi, linux-kernel, Patro, Sumant, Yang, Bo

On Tue, 2006-07-25 at 08:44 -0600, Ju, Seokmann wrote:
> This patch contains 
> - a fix for 64-bit DMA capability check in megaraid_{mm,mbox} driver.
> - includes changes (going back to 32-bit DMA mask if 64-bit DMA mask
> failes) suggested by James with previous patch.
> - addition of SATA 150-4/6 as commented by Vasily Averin.

Warning: trailing whitespace in lines 885,889 of
drivers/scsi/megaraid/megaraid_mbox.c
Warning: trailing whitespace in lines
13,15,16,19,21,22,26,27,29,31,33,37,39,46 of
Documentation/scsi/ChangeLog.megaraid

I'll fix it up this time, but in future could you trailing whitespace
check your patches? (git will do this for you).

Also, when you do a git workflow, the body of the email becomes the
commit message, so things like this

> This is a third patch which follows prevous two patches ([PATCH 1/3]
> and
> [PATCH 2/3]).

while no doubt being useful to the members of linux-scsi who are
actually unable to count aren't actually useful in commit messages.

James



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

end of thread, other threads:[~2006-07-28 18:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <890BF3111FB9484E9526987D912B261902CDA9@NAMAIL3.ad.lsil.com>
2006-07-24  8:08 ` [PATCH 1/3] scsi : megaraid_{mm,mbox}: 64-bit DMA capability checker Vasily Averin
2006-07-25 14:44 Ju, Seokmann
2006-07-25 15:10 ` Arjan van de Ven
2006-07-28 18:20 ` James Bottomley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox