* status of ntfs write-support in 2.4.20
From: folkert @ 2003-01-08 14:08 UTC (permalink / raw)
To: linux-kernel
Hi,
What is the status of NTFS WRITE(!)-support in 2.4.20?
Is there any kernel which can do safely writing to windows nt(! not 2000
or xp) partitions?
Folkert
^ permalink raw reply
* Re: [patch] Use XKPHYS for 64-bit TLB flushes
From: Ralf Baechle @ 2003-01-08 13:59 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: linux-mips
In-Reply-To: <Pine.GSO.3.96.1030108141332.1580F-100000@delta.ds2.pg.gda.pl>
On Wed, Jan 08, 2003 at 02:27:05PM +0100, Maciej W. Rozycki wrote:
> 32-bit R4k TLB flush functions use KSEG0 as an impossible (unmapped) VPN2
> value for invalidated TLB entries. 64-bit ones use KSEG0 as well, but
> here KSEG0 is a valid XKSEG (mapped) value as it gets interpreted as
> 0xc00000ff80000000 when written into cp0.EntryHi. The correct impossible
> (unmapped) VPN2 value for the 64-bit mode is XKPHYS.
That's a funny one. Historically the idea was to use KSEG0 because the
for KSEG0 the TLB is not used for translation. That already failed for
the Sibyte SB1 which is why we have to use different KSEG0 addresses for
each entry there.
> Here is a patch implementing it. The code runs fine on my R4400SC. OK
> to apply?
Yes.
> BTW, show_tlb() (in the same file) is buggy and redundant --
> dump_tlb_all() is a correct equivalent. I'd like to remove show_tlb() --
> OK?
Yes. I'd eventually like to move the tlb dump functions away from the
lib directory into the mm directory which seems to be more the right
place for them.
Ralf
^ permalink raw reply
* Re: [LARTC] Where does the Bandwidth Management taking place
From: Martin A. Brown @ 2003-01-08 14:01 UTC (permalink / raw)
To: lartc
In-Reply-To: <marc-lartc-104202046703231@msgid-missing>
Srikanth,
: I want to know exactly how the packet flow is occuring in BW management?
Eh? Seems a bit of a general question....can this not be answered by some
study of the queueing discipline you are using?
If you don't know where to start reading about the queueing discipline you
are using, start at http://lartc.org/ and http://www.docum.org/ and, of
course, a google search.
: Where does the Bandwidth Management taking place after/before routing?
Study the kernel packet travelling diagram, and you'll have a better idea
of the answer to your question.
http://www.docum.org/stef.coene/qos/kptd/
The short answer is:
- egress traffic control occurs after all of the IP filtering, mangling
and rewriting
- ingress traffic control occurs after iptables PREROUTING hooks (if
you are using iptables) or ipchains input (if you are using ipchains)
-Martin
--
Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: BDI-2000
From: James Don @ 2003-01-08 14:01 UTC (permalink / raw)
To: 'Jerry Van Baren', linuxppc-embedded
With BDI can you let your target run freely and dump the PC ...
I found just letting my target run and dumping my PC and using some
strategically place endless loops helped me get my kernel running ...
-----Original Message-----
From: Jerry Van Baren [mailto:gerald.vanbaren@smiths-aerospace.com]
Sent: Wednesday, January 08, 2003 6:48 AM
To: linuxppc-embedded@lists.linuxppc.org
Subject: Re: BDI-2000
You are setting your breakpoint at 0x0c000000. Linux in virtual memory
starts at 0xc0000000. Am I missing something?
At 04:40 PM 1/7/2003 -0500, cecilia.muaddi@alloptic.com wrote:
>I finally got my BDI-2000 for PPC 860 this week, and tried to set it up to
>debug my MMU problem.
>This is my first time using the BDI-2000, and really hope someone here can
>give me a hand.
[snip]
>I am able to check and modify the SRAM (at physical address location 0x0).
>and view the bootROM memory
>(at physical address of 0x28000000). I enable the MMU XLAT and set the
>PTBASE to 0xf0 as suggested in the
>user manual.
>Here is the output of the BDI
>
>BDI>reset
>- TARGET: processing user reset request
>- TARGET: resetting target passed
>- TARGET: processing target init list ....
>- TARGET: processing target init list passed
>BDI>bi 0x0c000000 0x0c00ffff
>Breakpoint identification is 0
>BDI>go 0x28000100
>- TARGET: target has entered debug mode
>BDI>ci
>BDI>info
> Target state : debug mode
> Debug entry cause : entering check stop state
> Current PC : 0x00000220
>BDI>
>
>I never seem to get the break at the location of 0x0c000000.
>The same problem if I set the break at location of start_here grep from
>System.map
>
>However I do get the break if I set at address location of 0 (start of the
>head_8xx.S)
[snip]
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply
* Re: ipv6 stack seems to forget to send ACKs
From: Wichert Akkerman @ 2003-01-08 14:09 UTC (permalink / raw)
To: Maciej Soltysiak; +Cc: netdev, linux-kernel
In-Reply-To: <Pine.LNX.4.44.0301081455290.12420-100000@dns.toxicfilms.tv>
Previously Maciej Soltysiak wrote:
> stable here.
Packages are at http://www.wiggy.net/tmp/xmms/ now.
Wichert.
--
Wichert Akkerman <wichert@wiggy.net> http://www.wiggy.net/
A random hacker
^ permalink raw reply
* aic7xxx new driver (2.5.54 kernel) bug report
From: Bob_Tracy(0000) @ 2003-01-08 14:18 UTC (permalink / raw)
To: linux-kernel; +Cc: gibbs
Dunno how useful this will be, but per the error message request, here's
a bug report of sorts...
Running 2.5.54 with the new aic7xxx driver. Didn't get too far before
the machine crashed due to an unrelated problem, but saw the following
messages during bootup. The device that didn't configure is the VIPER
2525 tape drive.
Jan 8 06:57:09 gherkin kernel: aic7xxx: PCI Device 0:9:0 failed memory mapped test. Using PIO.
Jan 8 06:57:09 gherkin kernel: scsi0: PCI error Interrupt at seqaddr = 0x2
Jan 8 06:57:09 gherkin kernel: scsi0: Signaled a Target Abort
Jan 8 06:57:09 gherkin kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.25
Jan 8 06:57:09 gherkin kernel: <Adaptec 2930 Ultra2 SCSI adapter>
Jan 8 06:57:09 gherkin kernel: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
Jan 8 06:57:09 gherkin kernel:
Jan 8 06:57:09 gherkin kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 31, 16bit)
Jan 8 06:57:09 gherkin kernel: (scsi0:A:2): 10.000MB/s transfers (10.000MHz, offset 8)
Jan 8 06:57:09 gherkin kernel: (scsi0:A:4): 5.000MB/s transfers (5.000MHz, offset 11)
Jan 8 06:57:09 gherkin kernel: (scsi0:A:5): 8.333MB/s transfers (8.333MHz, offset 31)
Jan 8 06:57:09 gherkin kernel: scsi0:A:6:0: DV failed to configure device. Please file a bug report against this driver.
Jan 8 06:57:09 gherkin kernel: Vendor: WDIGTL Model: WDE18300 ULTRA2 Rev: 1.30
Jan 8 06:57:09 gherkin kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 8 06:57:09 gherkin kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 8
Jan 8 06:57:09 gherkin kernel: Vendor: PIONEER Model: CD-ROM DR-U24X Rev: 1.01
Jan 8 06:57:09 gherkin kernel: Type: CD-ROM ANSI SCSI revision: 02
Jan 8 06:57:09 gherkin kernel: Vendor: EXABYTE Model: EXB-82058VQANXR1 Rev: 07T0
Jan 8 06:57:09 gherkin kernel: Type: Sequential-Access ANSI SCSI revision: 02
Jan 8 06:57:09 gherkin kernel: Vendor: YAMAHA Model: CRW4416S Rev: 1.0j
Jan 8 06:57:09 gherkin kernel: Type: CD-ROM ANSI SCSI revision: 02
Jan 8 06:57:09 gherkin kernel: Vendor: ARCHIVE Model: VIPER 2525 25462 Rev: -007
Jan 8 06:57:09 gherkin kernel: Type: Sequential-Access ANSI SCSI revision: 01
Jan 8 06:57:09 gherkin kernel: SCSI device sda: drive cache: write back
Jan 8 06:57:09 gherkin kernel: SCSI device sda: 35761710 512-byte hdwr sectors (18310 MB)
Jan 8 06:57:09 gherkin kernel: sda: sda1 sda2 sda3 < sda5 sda6 sda7 sda8 sda9 sda10 sda11 sda12 sda13 sda14 sda15 >
Jan 8 06:57:09 gherkin kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
--
-----------------------------------------------------------------------
Bob Tracy WTO + WIPO = DMCA? http://www.anti-dmca.org
rct@frus.com
-----------------------------------------------------------------------
^ permalink raw reply
* Re: [linux-lvm] Graphical tool to configure LVM for RedHat 8
From: Anders Widman @ 2003-01-08 14:11 UTC (permalink / raw)
To: Linux-LVM
In-Reply-To: <55939F05720D954E9602518B77F6127F8289CE@FTWMLVEM01.e2k.ad.ge.com>
> The command line tools are great but I just wonder if there is a graphical tool to do the same thing (for RedHat, BTW) ?
I know RedHat 8 (graphical) installation has support for LVM and
creating of LVM arrays. However, I have no idea if such tools are
included after the installation.
In any case. I do no recommend using 3rd party tools to configure and
manage your disks.
> Thanks,
> Thanh
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
^ permalink raw reply
* Re: [linux-lvm] problem
From: Steven Lembark @ 2003-01-08 14:12 UTC (permalink / raw)
To: linux-lvm
In-Reply-To: <1042049056.1433.29.camel@tux.its.uiowa.edu>
-- Daniel Wittenberg <daniel-wittenberg@uiowa.edu>
> I had 2 drives in my machine, with a VG across both of them. The only
> thing on the second drive was part of /tmp, so when the second drive
> died I didn't really lose anything. But I have problems now because I
> can't activate the VG because part of it is missing, but I can't remove
> tmp, so it's a catch-22. Is there anyway to remove an LV without
> activating the VG? Or another way I can tell it to ignore missing LV's?
vgexport + vgimport should do it for you if none of the
other LV's stretched onto the dead drive.
If you don't want to spread data across drives that are
not maintained with some sort of RAID then you are
probably better off putting the drives in separate VG's
so that data doesn't accidentally spill across the disks.
--
Steven Lembark 2930 W. Palmer
Workhorse Computing Chicago, IL 60647
+1 773 252 1080
^ permalink raw reply
* Re: XFree86 vs. 2.5.54 - reboot
From: Thomas Schlichter @ 2003-01-08 14:24 UTC (permalink / raw)
To: Bob_Tracy(0000), linux-kernel
In-Reply-To: <20030108140525.DF0434EE7@gherkin.frus.com>
Hi,
I've got the same probelm with my K6-III 450, too...
The last version I tested was 2.5.52 and it worked perfektly...
But now with 2.5.54 (I did not test 2.5.53) when the 'nvidia' module is used
(loading it works with no problems...) the Computer reboots...
If I do not use this module X works...
There seems to be a problem with an other module, too...
'nfsd' is ok to load, but when a remote machine tries to mount a directory a
reboot occures, too...
I do not know if there is a problem with other modules, if I will find any I
will report them here...
Thomas Schlichter
Am Mittwoch, 8. Januar 2003 15:05 schrieb Bob_Tracy(0000:
> This probably applies to immediately prior kernels in the 2.5 series
> as well. 2.5.54 seemed like a good time to jump in and test the waters,
> so to speak...
>
> AMD K6-III 450 running a 2.4.19 kernel with vesafb, XFree86 4.1.0, and
> a USB mouse works fine. Same setup with a 2.5.54 kernel does a cold
> reboot when I type "startx". In both cases, the initial video state
> is "vga=791" as set in /etc/lilo.conf. As far as the crash, there's
> no debug output of any kind in the logs to help narrow down the cause.
>
> As best I can remember, the last time I had everything kinda working
> with a 2.5.X kernel was prior to the introduction of the new module-init
> tools. This isn't a jab at Rusty et. al. I'm merely trying to come up
> with an approximate timeframe during which something changed which is
> causing the problem. The recent framebuffer driver changes probably
> have something to with this issue.
>
> If this is a known problem, would someone be kind enough to summarize
> the discussion or let me know approximately when the discussion took
> place so I can dig for it in the linux-kernel archives? Thanks!
^ permalink raw reply
* RE: opening a port..
From: Rob Sterenborg @ 2003-01-08 14:24 UTC (permalink / raw)
To: netfilter
In-Reply-To: <1042030327.590.10.camel@nirvana>
> ok, telnet from another machine to the router.
>
> telnet 10.0.0.6 4662
> Trying 10.0.0.6...
> telnet: Unable to connect to remote host: Connection refused
>
> what "service" should I be running? I simply want 4662 open both ways.
# netstat -an|grep 4662
should tell you if your box is listening at all on port 4662.
If you run eDonkey server on the firewall box, open port in the INPUT
chain.
If your eDonkey server is *behind* the firewall, open the port in the
FORWARD chain, and add a DNAT rule in the nat table -> PREROUTING chain.
Rob
^ permalink raw reply
* Re: intel8x0: changing characteristics after an APM suspend-resume cycle
From: D. Sen @ 2003-01-08 14:25 UTC (permalink / raw)
To: alsa-devel
In-Reply-To: <s5h7kdfalxd.wl@alsa2.suse.de>
Takashi Iwai wrote:
> At Tue, 07 Jan 2003 15:40:10 -0500,
> D. Sen <dsen@homemail.com> wrote:
>
>>Hi,
>>
>>I am using the snd-intel8x0 drivers (0.9.0rc6) on my IBM Thinkpad
>>running Linux 2.4.20. Everything seems to run fine until the machine
>>goes through a suspend/resume cycle when mono files/streams seem to get
>>played back at a much faster rate.
>>
>>A cold reboot resolves the problem.
>
>
> even after unloading/reloading the module the problem persists?
>
>
> Takashi
>
>
While unloading/reloading does resolve the problem, once in a while
though, sound is totally stuffed up after the
suspend/resume cycle and the modules cant be reloaded. Typically happens
if I forget to unmute the
channels after resume and attempt to play something. At that point
trying to reload the modules is not possible (see the messages below). A
suspend/resume cycle resolves the problem.
[/root] modprobe -a snd-intel8x0
/lib/modules/2.4.20/kernel/sound/pci/snd-intel8x0.o: init_module: No
such device
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
modprobe: insmod /lib/modules/2.4.20/kernel/sound/pci/snd-intel8x0.o failed
modprobe: insmod snd-intel8x0 failed
and in the syslog:
Jan 8 08:33:32 localhost kernel: PCI: Found IRQ 11 for device 00:1f.5
Jan 8 08:33:32 localhost kernel: PCI: Sharing IRQ 11 with 00:1f.3
Jan 8 08:33:32 localhost kernel: PCI: Sharing IRQ 11 with 00:1f.6
Jan 8 08:33:32 localhost kernel: PCI: Sharing IRQ 11 with 02:00.1
Jan 8 08:33:33 localhost kernel: ALSA
../../alsa-kernel/pci/ac97/ac97_codec.c:1554: AC'97 0:0 does not respond
- RESET [REC_GAIN = 0x0]
Jan 8 08:33:33 localhost kernel: Intel ICH soundcard not found or
device busy
Jan 8 03:40:47 localhost kernel: PCI: Found IRQ 11 for device 00:1f.5
Jan 8 03:40:47 localhost kernel: PCI: Sharing IRQ 11 with 00:1f.3
Jan 8 03:40:47 localhost kernel: PCI: Sharing IRQ 11 with 00:1f.6
Jan 8 03:40:47 localhost kernel: PCI: Sharing IRQ 11 with 02:00.1
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x26
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x0
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x26
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x20
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x26
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x2
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:546: codec_read 0: semaphore is not ready
for register 0x2
Jan 8 03:40:47 localhost last message repeated 9 times
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x2
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x4
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x6
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0xa
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0xc
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0xe
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x10
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x12
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x14
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x16
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x18
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x1a
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x1c
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x20
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x22
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x2a
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x2c
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x32
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x70
Jan 8 03:40:47 localhost kernel: ALSA
../alsa-kernel/pci/intel8x0.c:530: codec_write 0: semaphore is not ready
for register 0x74
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
^ permalink raw reply
* Re: [linux-lvm] problem
From: Daniel Wittenberg @ 2003-01-08 14:32 UTC (permalink / raw)
To: linux-lvm
In-Reply-To: <33170000.1042057292@[192.168.200.4]>
Ugh...
# vgexport -av
vgexport -- locking logical volume manager
vgexport -- checking volume group name
vgexport -- checking volume group activity
vgexport -- reading data of volume group "rootvg" from disk(s)
vgexport -- only found 0 of 39 LEs for LV /dev/rootvg/tmp (0)
vgexport -- ERROR "vg_read_with_pv_and_lv(): allocated LE of LV" reading
data of volume group "rootvg"
vgexport -- unlocking logical volume manager
Other ideas?
Thanks,
Dan
On Wed, 2003-01-08 at 14:21, Steven Lembark wrote:
> -- Daniel Wittenberg <daniel-wittenberg@uiowa.edu>
>
> > I had 2 drives in my machine, with a VG across both of them. The only
> > thing on the second drive was part of /tmp, so when the second drive
> > died I didn't really lose anything. But I have problems now because I
> > can't activate the VG because part of it is missing, but I can't remove
> > tmp, so it's a catch-22. Is there anyway to remove an LV without
> > activating the VG? Or another way I can tell it to ignore missing LV's?
>
> vgexport + vgimport should do it for you if none of the
> other LV's stretched onto the dead drive.
>
> If you don't want to spread data across drives that are
> not maintained with some sort of RAID then you are
> probably better off putting the drives in separate VG's
> so that data doesn't accidentally spill across the disks.
>
>
> --
> Steven Lembark 2930 W. Palmer
> Workhorse Computing Chicago, IL 60647
> +1 773 252 1080
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm@sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
--
===========================
Daniel Wittenberg
Senior Unix Admin
University of Iowa - ITS
^ permalink raw reply
* Re: ipv6 stack seems to forget to send ACKs
From: Maciej Soltysiak @ 2003-01-08 14:43 UTC (permalink / raw)
To: Wichert Akkerman; +Cc: netdev, linux-kernel
In-Reply-To: <20030108130850.GQ22951@wiggy.net>
I had no problems listening to the stream, except a gap after about 3mins.
tcpdump showed the client closed the connection, and quickly initiated a
new one. Since then i had 15mins of nonstop playback and it stopped,
similarily to your dump.
The tcpdump is similar to yours, except i do not have traffic class info.
And rarely sack was used.
Is there a ip6 mangling router in your route to the icecast server?
I have been listening on an ip6 enabled host behind my ip6 tunnelling
router to my MAN.
Client: linux-2.4.21-pre1
Router: linux-2.4.20-grsec
I have to go now, i will look into that later.
Regards,
Maciej
^ permalink raw reply
* [BUG] 2.5.54 sound fails to compile (cmi8330.c)
From: Bill Davidsen @ 2003-01-08 14:44 UTC (permalink / raw)
To: Linux Kernel Mailing List
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1860 bytes --]
Log of error message follows, config attached (gzipped). This built for
2.5.5[23].
make -f scripts/Makefile.build obj=sound/isa
gcc -Wp,-MD,sound/isa/.cmi8330.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include -DKBUILD_BASENAME=cmi8330 -DKBUILD_MODNAME=snd_cmi8330 -c -o sound/isa/cmi8330.o sound/isa/cmi8330.c
sound/isa/cmi8330.c: In function `snd_cmi8330_isapnp':
sound/isa/cmi8330.c:226: warning: implicit declaration of function `isapnp_find_dev'
sound/isa/cmi8330.c:226: warning: assignment makes pointer from integer without a cast
sound/isa/cmi8330.c:227: structure has no member named `active'
sound/isa/cmi8330.c:231: warning: assignment makes pointer from integer without a cast
sound/isa/cmi8330.c:232: structure has no member named `active'
sound/isa/cmi8330.c:238: structure has no member named `prepare'
sound/isa/cmi8330.c:242: warning: implicit declaration of function `isapnp_resource_change'
sound/isa/cmi8330.c:248: structure has no member named `activate'
sound/isa/cmi8330.c:258: structure has no member named `prepare'
sound/isa/cmi8330.c:259: structure has no member named `deactivate'
sound/isa/cmi8330.c:271: structure has no member named `activate'
sound/isa/cmi8330.c:273: structure has no member named `deactivate'
sound/isa/cmi8330.c: In function `snd_cmi8330_deactivate':
sound/isa/cmi8330.c:287: structure has no member named `deactivate'
sound/isa/cmi8330.c:291: structure has no member named `deactivate'
sound/isa/cmi8330.c: In function `alsa_card_cmi8330_init':
sound/isa/cmi8330.c:489: warning: implicit declaration of function `isapnp_probe_cards'
make[2]: *** [sound/isa/cmi8330.o] Error 1
make[1]: *** [sound/isa] Error 2
make: *** [sound] Error 2
[-- Attachment #2: Type: APPLICATION/x-gzip, Size: 6054 bytes --]
^ permalink raw reply
* Re: observations on 2.5 config screens
From: Bill Davidsen @ 2003-01-08 14:32 UTC (permalink / raw)
To: Robert Love; +Cc: Adrian Bunk, Robert P. J. Day, Linux kernel mailing list
In-Reply-To: <1041982936.694.786.camel@phantasy>
On 7 Jan 2003, Robert Love wrote:
> The real problem in my opinion is that the category is misnamed. It is
> not "processor options" except for the first couple. The majority of
> the options should be under a title of "core" or "architecture" or
> "system options" in my opinion.
>
> Robert Love
Someone else suggested putting all the low level options like preempt,
smp, and the stuff in kernel-hacking into a single menu, with a better
name.
--
bill davidsen <davidsen@tmr.com>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
^ permalink raw reply
* Re: opening a port..
From: Rodrigo Hidalgo @ 2003-01-08 14:40 UTC (permalink / raw)
To: mdew; +Cc: netfilter
In-Reply-To: <1042030327.590.10.camel@nirvana>
Hi,
I guess youre scenario is like this:
some_machine - - - Router - - - - server_maybe_not_existing(4662)
If you want to be able to get any positive respons you should do a
some_machine> telnet server_maybe_not_existing 4662
The router will not tell you the port is open.
Good Luck!
/r
On 9 Jan 2003, mdew wrote:
> Date: 09 Jan 2003 01:52:07 +1300
> From: mdew <mdew@mdew.dyndns.org>
> To: Dharmendra.T <dharmu@nsecure.net>
> Cc: netfilter <netfilter@lists.netfilter.org>
> Subject: Re: opening a port..
>
> On Thu, 2003-01-09 at 01:33, Dharmendra.T wrote:
> >
> >
> > On Wed, 2003-01-08 at 17:42, mdew wrote:
> > >
> > > Hi,
> > > Just *testing* this out..
> > >
> > > iptables -A INPUT -i eth0 -p tcp --dport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth0 -p udp --dport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth1 -p udp --dport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth1 -p tcp --dport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth1 -p tcp --sport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth1 -p udp --sport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth0 -p udp --sport 4662 -j ACCEPT
> > > iptables -A INPUT -i eth0 -p tcp --sport 4662 -j ACCEPT
> > >
> > > iptables -A FORWARD -o eth0 -p tcp --dport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth1 -p tcp --dport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth1 -p udp --dport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth0 -p udp --dport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth0 -p udp --sport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth1 -p udp --sport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth1 -p tcp --sport 4662 -j ACCEPT
> > > iptables -A FORWARD -o eth0 -p tcp --sport 4662 -j ACCEPT
> > >
> > > yet, when i try to telnet to it,
> > >
> > > mdew:~# telnet 127.0.0.1 4662
> > > Trying 127.0.0.1...
> > > telnet: Unable to connect to remote host: Connection refused
> > >
> > > Yeah I know I have lots of unnessary rules, but im only testing 'em...it
> > > just seems a little strange that i cant see 4662 (Edonkey port) on the
> > > router.
> > >
> > > -mdew
> > >
> > >
> > Note:
> > telnet 127.0.0.1 port
> >
> > This will not go through any of the interfaces(eth*). You should allow
> > this through -i lo.
> >
> > Here some how you are getting connected and you are getting the response
> > connection refused. Probably you are not running the service on the
> > router!.
> >
> > --
> > Dharmendra.T
> > Linux Enthu
> >
> ok, telnet from another machine to the router.
>
> telnet 10.0.0.6 4662
> Trying 10.0.0.6...
> telnet: Unable to connect to remote host: Connection refused
>
> what "service" should I be running? I simply want 4662 open both ways.
>
> -mdew
>
>
^ permalink raw reply
* lk-changelog.pl 0.64
From: Matthias Andree @ 2003-01-08 14:49 UTC (permalink / raw)
To: torvalds, marcelo; +Cc: linux-kernel, matthias.andree
This is a semi-automatic announcement.
lk-changelog.pl aka. shortlog version 0.64 has been released.
The changes are listed at the end of the script below.
You can always download this script and GPG signatures from
http://mandree.home.pages.de/linux/kernel/
Note that your mailer must be MIME-capable to save this mail properly,
because it is in the "quoted-printable" encoding.
= <- if you see just an equality sign, but no "3D", your mailer is fine.
= <- if you see 3D on this line, then upgrade your mailer or pipe this mail
= <- into metamail.
--
A sh script on behalf of Matthias Andree
-------------------------------------------------------------------------
Changes since last release:
----------------------------
revision 0.64
date: 2003/01/08 14:48:50; author: emma; state: Exp; lines: +19 -1
New addresses by Vita.
----------------------------
revision 0.63
date: 2003/01/08 14:47:37; author: emma; state: Exp; lines: +41 -1
New addresses by Vita.
----------------------------
revision 0.62
date: 2002/12/27 16:59:28; author: emma; state: Exp; lines: +14 -1
Another ten addresses sent by Vitezslav Samel.
=============================================================================
-------------------------------------------------------------------------
#! /usr/bin/perl -wT
# This Perl script is meant to simplify/beautify BK ChangeLogs for the linux
# kernel.
#
# (C) Copyright 2002 by Matthias Andree <matthias.andree@gmx.de>
# Marcus Alanen <maalanen@abo.fi>
# Tomas Szepe <szepe@pinerecords.com>
# Vitezslav Samel <samel@mail.cz>
#
# $Id: lk-changelog.pl,v 0.64 2003/01/08 14:48:50 emma Exp $
# ----------------------------------------------------------------------
# Distribution of this script is permitted under the terms of the
# GNU General Public License (GNU GPL) v2.
# ----------------------------------------------------------------------
# This program expects its input in the following format:
# (E-Mail Addresses MUST NOT bear leading whitespace!)
#
# <email@ddr.ess>
# changelog text
# more changelog text
# <email@ddr.ess>
# yet another changelog
# <another@add.ress>
# changelog #3
# more lines
#
# and discards all changelog lines but the first after an email address,
# and groups and sorts the entries by email address:
#
# another@add.ress:
# changelog #3
# email@ddr.ess
# changelog text
# yet another changelog
require 5.005;
use strict;
use Carp;
use Getopt::Long;
use IO::File;
eval 'use Pod::Usage;';
if ($@) {
eval 'sub pod2usage {
print STDERR "Usage information would be presented here if you had Pod::Usage installed.\n"
. "Try: perl -MCPAN -e \'install Pod::Usage\'\nAbort.\n";
exit 2;
}';
}
use Text::ParseWords;
use Text::Tabs;
use Text::Wrap;
# --------------------------------------------------------------------
# customize the following line to change the indentation of the change
# lines, $indent1 is used for the first line of an entry, $indent for
# all subsequent lines. $indent is auto-generated from $indent1.
my $indent1 = " o ";
my $indent = " " x length($indent1);
# change this to enable some debugging stuff:
my $debug = 0;
# --------------------------------------------------------------------
# the key is the email address in ALL LOWER CAPS!
# the value is the real name of the person
#
# Unless otherwise noted, the addresses below have been obtained using
# lbdb.
my %addresses = (
'abraham@2d3d.co.za' => 'Abraham van der Merwe',
'abslucio@terra.com.br' => 'Lucio Maciel',
'ac9410@attbi.com' => 'Albert Cranford',
'acher@in.tum.de' => 'Georg Acher',
'achirica@ttd.net' => 'Javier Achirica',
'acme@brinquedo.oo.ps' => 'Arnaldo Carvalho de Melo',
'acme@conectiva.com.br' => 'Arnaldo Carvalho de Melo',
'acme@dhcp197.conectiva' => 'Arnaldo Carvalho de Melo',
'adam@mailhost.nmt.edu' => 'Adam Radford', # google
'adam@nmt.edu' => 'Adam Radford', # google
'adam@yggdrasil.com' => 'Adam J. Richter',
'adaplas@pol.net' => 'Antonino Daplas',
'adilger@clusterfs.com' => 'Andreas Dilger',
'aebr@win.tue.nl' => 'Andries E. Brouwer',
'agrover@acpi3.(none)' => 'Andy Grover',
'agrover@acpi3.jf.intel.com' => 'Andy Grover', # guessed
'agrover@dexter.groveronline.com' => 'Andy Grover',
'agrover@groveronline.com' => 'Andy Grover',
'agruen@suse.de' => 'Andreas Gruenbacher',
'ahaas@airmail.net' => 'Art Haas',
'ahaas@neosoft.com' => 'Art Haas',
'aia21@cam.ac.uk' => 'Anton Altaparmakov',
'aia21@cantab.net' => 'Anton Altaparmakov',
'aia21@cus.cam.ac.uk' => 'Anton Altaparmakov',
'ajoshi@shell.unixbox.com' => 'Ani Joshi',
'ak@muc.de' => 'Andi Kleen',
'ak@suse.de' => 'Andi Kleen',
'akpm@digeo.com' => 'Andrew Morton',
'akpm@zip.com.au' => 'Andrew Morton',
'akropel1@rochester.rr.com' => 'Adam Kropelin', # lbdb
'alan@irongate.swansea.linux.org.uk' => 'Alan Cox',
'alan@lxorguk.ukuu.org.uk' => 'Alan Cox',
'alan@redhat.com' => 'Alan Cox',
'alex_williamson@attbi.com' => 'Alex Williamson', # lbdb
'alex_williamson@hp.com' => 'Alex Williamson', # google
'alexander.riesen@synopsys.com' => 'Alexander Riesen',
'alfre@ibd.es' => 'Alfredo Sanjuán',
'ambx1@neo.rr.com' => 'Adam Belay',
'amunoz@vmware.com' => 'Alberto Munoz',
'andersen@codepoet.org' => 'Erik Andersen',
'andersg@0x63.nu' => 'Anders Gustafsson',
'andmike@us.ibm.com' => 'Mike Anderson', # lbdb
'andrea@suse.de' => 'Andrea Arcangeli',
'andries.brouwer@cwi.nl' => 'Andries E. Brouwer',
'andros@citi.umich.edu' => 'Andy Adamson',
'angus.sawyer@dsl.pipex.com' => 'Angus Sawyer',
'ankry@green.mif.pg.gda.pl' => 'Andrzej Krzysztofowicz',
'anton@samba.org' => 'Anton Blanchard',
'aris@cathedrallabs.org' => 'Aristeu Sergio Rozanski Filho',
'arjan@redhat.com' => 'Arjan van de Ven',
'arjanv@redhat.com' => 'Arjan van de Ven',
'arnd@bergmann-dalldorf.de' => 'Arnd Bergmann',
'arndb@de.ibm.com' => 'Arnd Bergmann',
'arun.sharma@intel.com' => 'Arun Sharma',
'asit.k.mallick@intel.com' => 'Asit K. Mallick', # by Kristian Peters
'axboe@burns.home.kernel.dk' => 'Jens Axboe', # guessed
'axboe@hera.kernel.org' => 'Jens Axboe',
'axboe@suse.de' => 'Jens Axboe',
'baccala@vger.freesoft.org' => 'Brent Baccala',
'baldrick@wanadoo.fr' => 'Duncan Sands',
'ballabio_dario@emc.com' => 'Dario Ballabio',
'barrow_dj@yahoo.com' => 'D. J. Barrow',
'barryn@pobox.com' => 'Barry K. Nathan', # lbdb
'bart.de.schuymer@pandora.be' => 'Bart De Schuymer',
'bcollins@debian.org' => 'Ben Collins',
'bcrl@bob.home.kvack.org' => 'Benjamin LaHaise',
'bcrl@redhat.com' => 'Benjamin LaHaise',
'bcrl@toomuch.toronto.redhat.com' => 'Benjamin LaHaise', # guessed
'bdschuym@pandora.be' => 'Bart De Schuymer',
'beattie@beattie-home.net' => 'Brian Beattie', # from david.nelson
'benh@kernel.crashing.org' => 'Benjamin Herrenschmidt',
'bero@arklinux.org' => 'Bernhard Rosenkraenzer',
'bfennema@falcon.csc.calpoly.edu' => 'Ben Fennema',
'bgerst@didntduck.org' => 'Brian Gerst',
'bhards@bigpond.net.au' => 'Brad Hards',
'bhavesh@avaya.com' => 'Bhavesh P. Davda',
'bheilbrun@paypal.com' => 'Brad Heilbrun', # by himself
'bjorn.andersson@erc.ericsson.se' => 'Björn Andersson', # google, guessed ö
'bjorn.wesen@axis.com' => 'Bjorn Wesen',
'bjorn_helgaas@hp.com' => 'Bjorn Helgaas',
'bmatheny@purdue.edu' => 'Blake Matheny', # google
'borisitk@fortunet.com' => 'Boris Itkis', # by Kristian Peters
'braam@clusterfs.com' => 'Peter Braam',
'brett@bad-sports.com' => 'Brett Pemberton',
'brihall@pcisys.net' => 'Brian Hall', # google
'brm@murphy.dk' => 'Brian Murphy',
'brownfld@irridia.com' => 'Ken Brownfield',
'bunk@fs.tum.de' => 'Adrian Bunk',
'buytenh@gnu.org' => 'Lennert Buytenhek',
'bzeeb-lists@lists.zabbadoz.net' => 'Björn A. Zeeb', # lbdb
'c-d.hailfinger.kernel.2002-07@gmx.net' => 'Carl-Daniel Hailfinger',
'c-d.hailfinger.kernel.2002-q4@gmx.net' => 'Carl-Daniel Hailfinger', # himself
'cattelan@sgi.com' => 'Russell Cattelan', # google
'ccaputo@alt.net' => 'Chris Caputo',
'cel@citi.umich.edu' => 'Chuck Lever',
'celso@bulma.net' => 'Celso González', # google
'ch@hpl.hp.com' => 'Christopher Hoover', # by Kristian Peters
'charles.white@hp.com' => 'Charles White',
'chessman@tux.org' => 'Samuel S. Chessman',
'chris@qwirx.com' => 'Chris Wilson',
'chris@wirex.com' => 'Chris Wright',
'christer@weinigel.se' => 'Christer Weinigel', # from shortlog
'christopher.leech@intel.com' => 'Christopher Leech',
'cip307@cip.physik.uni-wuerzburg.de' => 'Jochen Karrer', # from shortlog
'ckulesa@as.arizona.edu' => 'Craig Kulesa',
'colin@gibbs.dhs.org' => 'Colin Gibbs',
'colpatch@us.ibm.com' => 'Matthew Dobson',
'cort@fsmlabs.com' => 'Cort Dougan',
'cph@zurich.ai.mit.edu' => 'Chris Hanson',
'cr@sap.com' => 'Christoph Rohland',
'cruault@724.com' => 'Charles-Edouard Ruault',
'ctindel@cup.hp.com' => 'Chad N. Tindel',
'cyeoh@samba.org' => 'Christopher Yeoh',
'da-x@gmx.net' => 'Dan Aloni',
'daisy@teetime.dynamic.austin.ibm.com' => 'Daisy Chang', # from shortlog
'dalecki@evision-ventures.com' => 'Martin Dalecki',
'dalecki@evision.ag' => 'Martin Dalecki',
'dan.zink@hp.com' => 'Dan Zink',
'dan@debian.org' => 'Daniel Jacobowitz',
'dana.lacoste@peregrine.com' => 'Dana Lacoste',
'danc@mvista.com' => 'Dan Cox', # some CREDITS patch found by google
'daniel.ritz@gmx.ch' => 'Daniel Ritz',
'dave@qix.net' => 'Dave Maietta',
'davej@codemonkey.org.uk' => 'Dave Jones',
'davej@suse.de' => 'Dave Jones',
'davej@tetrachloride.(none)' => 'Dave Jones',
'davem@hera.kernel.org' => 'David S. Miller',
'davem@kernel.bkbits.net' => 'David S. Miller',
'davem@nuts.ninka.net' => 'David S. Miller',
'davem@pizda.ninka.net' => 'David S. Miller', # guessed
'davem@redhat.com' => 'David S. Miller',
'david-b@pacbell.net' => 'David Brownell',
'david.nelson@pobox.com' => 'David Nelson',
'david@gibson.dropbear.id.au' => 'David Gibson',
'david_jeffery@adaptec.com' => 'David Jeffery',
'davidel@xmailserver.org' => 'Davide Libenzi',
'davidm@hpl.hp.com' => 'David Mosberger',
'davidm@napali.hpl.hp.com' => 'David Mosberger',
'davidm@tiger.hpl.hp.com' => 'David Mosberger',
'davidm@wailua.hpl.hp.com' => 'David Mosberger',
'davids@youknow.youwant.to' => 'David Schwartz', # google
'dbrownell@users.sourceforge.net' => 'David Brownell',
'ddstreet@ieee.org' => 'Dan Streetman',
'ddstreet@us.ibm.com' => 'Dan Streetman',
'defouwj@purdue.edu' => 'Jeff DeFouw',
'dent@cosy.sbg.ac.at' => "Thomas 'Dent' Mirlacher",
'devel@brodo.de' => 'Dominik Brodowski',
'devik@cdi.cz' => 'Martin Devera',
'dgibson@samba.org' => 'David Gibson',
'dhinds@sonic.net' => 'David Hinds', # google
'dhollis@davehollis.com' => 'Dave Hollis',
'dhowells@cambridge.redhat.com' => 'David Howells',
'dhowells@redhat.com' => 'David Howells',
'dipankar@in.ibm.com' => 'Dipankar Sarma',
'dirk.uffmann@nokia.com' => 'Dirk Uffmann',
'dledford@aladin.rdu.redhat.com' => 'Doug Ledford',
'dledford@dledford.theledfords.org' => 'Doug Ledford',
'dledford@flossy.devel.redhat.com' => 'Doug Ledford',
'dledford@redhat.com' => 'Doug Ledford',
'dmccr@us.ibm.com' => 'Dave McCracken',
'dok@directfb.org' => 'Denis Oliver Kropp',
'dougg@torque.net' => 'Douglas Gilbert',
'driver@huey.jpl.nasa.gov' => 'Bryan B. Whitehead', # google
'drow@false.org' => 'Daniel Jacobowitz',
'drow@nevyn.them.org' => 'Daniel Jacobowitz',
'dsaxena@mvista.com' => 'Deepak Saxena',
'dwmw2@infradead.org' => 'David Woodhouse',
'dwmw2@redhat.com' => 'David Woodhouse',
'dz@cs.unitn.it' => 'Massimo Dal Zotto',
'ebiederm@xmission.com' => 'Eric Biederman',
'ebrower@resilience.com' => 'Eric Brower',
'ebrower@usa.net' => 'Eric Brower',
'ecd@skynet.be' => 'Eddie C. Dost',
'edv@macrolink.com' => 'Ed Vance',
'edward_peng@dlink.com.tw' => 'Edward Peng',
'efocht@ess.nec.de' => 'Erich Focht',
'eike@bilbo.math.uni-mannheim.de' => 'Rolf Eike Beer',
'elenstev@mesatop.com' => 'Steven Cole',
'engebret@us.ibm.com' => 'Dave Engebretsen',
'eranian@frankl.hpl.hp.com' => 'Stéphane Eranian',
'eranian@hpl.hp.com' => 'Stéphane Eranian',
'erik@aarg.net' => 'Erik Arneson',
'erik_habbinga@hp.com' => 'Erik Habbinga',
'eyal@eyal.emu.id.au' => 'Eyal Lebedinsky', # lbdb
'fbl@conectiva.com.br' => 'Flávio Bruno Leitner', # google
'fdavis@si.rr.com' => 'Frank Davis',
'felipewd@terra.com.br' => 'Felipe Damasio', # by self (did not ask to include the W.)
'fenghua.yu@intel.com' => 'Fenghua Yu', # google
'fero@sztalker.hu' => 'Bakonyi Ferenc',
'fischer@linux-buechse.de' => 'Jürgen E. Fischer',
'fletch@aracnet.com' => 'Martin J. Bligh',
'flo@rfc822.org' => 'Florian Lohoff',
'florian.thiel@gmx.net' => 'Florian Thiel', # from shortlog
'fnm@fusion.ukrsat.com' => 'Nick Fedchik',
'focht@ess.nec.de' => 'Erich Focht',
'fokkensr@fokkensr.vertis.nl' => 'Rolf Fokkens',
'franz.sirl-kernel@lauterbach.com' => 'Franz Sirl',
'franz.sirl@lauterbach.com' => 'Franz Sirl',
'fscked@netvisao.pt' => 'Paulo André',
'fubar@us.ibm.com' => 'Jay Vosburgh',
'fw@deneb.enyo.de' => 'Florian Weimer', # lbdb
'fzago@austin.rr.com' => 'Frank Zago', # google
'ganadist@nakyup.mizi.com' => 'Cha Young-Ho',
'ganesh@tuxtop.vxindia.veritas.com' => 'Ganesh Varadarajan',
'ganesh@veritas.com' => 'Ganesh Varadarajan',
'ganesh@vxindia.veritas.com' => 'Ganesh Varadarajan',
'garloff@suse.de' => 'Kurt Garloff',
'geert@linux-m68k.org' => 'Geert Uytterhoeven',
'george@mvista.com' => 'George Anzinger',
'gerg@moreton.com.au' => 'Greg Ungerer',
'gerg@snapgear.com' => 'Greg Ungerer',
'ghoz@sympatico.ca' => 'Ghozlane Toumi',
'gibbs@overdrive.btc.adaptec.com' => 'Justin T. Gibbs',
'gibbs@scsiguy.com' => 'Justin T. Gibbs',
'gilbertd@treblig.org' => 'Dr. David Alan Gilbert',
'gl@dsa-ac.de' => 'Guennadi Liakhovetski',
'glee@gnupilgrims.org' => 'Geoffrey Lee', # lbdb
'gnb@alphalink.com.au' => 'Greg Banks',
'go@turbolinux.co.jp' => 'Go Taniguchi',
'gone@us.ibm.com' => 'Patricia Guaghen',
'gotom@debian.or.jp' => 'Goto Masanori', # from shortlog
'gphat@cafes.net' => 'Cory Watson',
'greearb@candelatech.com' => 'Ben Greear',
'green@angband.namesys.com' => 'Oleg Drokin',
'green@namesys.com' => 'Oleg Drokin',
'greg@kroah.com' => 'Greg Kroah-Hartman',
'gronkin@nerdvana.com' => 'George Ronkin',
'grundler@cup.hp.com' => 'Grant Grundler',
'grundym@us.ibm.com' => 'Michael Grundy',
'gsromero@alumnos.euitt.upm.es' => 'Guillermo S. Romero',
'gtoumi@laposte.net' => 'Ghozlane Toumi',
'hadi@cyberus.ca' => 'Jamal Hadi Salim',
'hannal@us.ibm.com' => 'Hanna Linder',
'haveblue@us.ibm.com' => 'Dave Hansen',
'hch@caldera.de' => 'Christoph Hellwig',
'hch@dhcp212.munich.sgi.com' => 'Christoph Hellwig',
'hch@hera.kernel.org' => 'Christoph Hellwig',
'hch@infradead.org' => 'Christoph Hellwig',
'hch@lab343.munich.sgi.com' => 'Christoph Hellwig',
'hch@lst.de' => 'Christoph Hellwig',
'hch@pentafluge.infradead.org' => 'Christoph Hellwig',
'hch@sb.bsdonline.org' => 'Christoph Hellwig', # by Kristian Peters
'hch@sgi.com' => 'Christoph Hellwig',
'helgaas@fc.hp.com' => 'Bjorn Helgaas', # doesn't want ø/å
'henning@meier-geinitz.de' => 'Henning Meier-Geinitz',
'henrique2.gobbi@cyclades.com' => 'Henrique Gobbi',
'henrique@cyclades.com' => 'Henrique Gobbi',
'hermes@gibson.dropbear.id.au' => 'David Gibson',
'hirofumi@mail.parknet.co.jp' => 'Hirofumi Ogawa', # corrected by himself
'hoho@binbash.net' => 'Colin Slater',
'hpa@zytor.com' => 'H. Peter Anvin',
'hugh@veritas.com' => 'Hugh Dickins',
'ica2_ts@csv.ica.uni-stuttgart.de' => 'Thiemo Seufer', # google
'info@usblcd.de' => 'Adams IT Services',
'ink@jurassic.park.msu.ru' => 'Ivan Kokshaysky',
'ionut@cs.columbia.edu' => 'Ion Badulescu',
'ioshadij@hotmail.com' => 'Ishan O. Jayawardena',
'irohlfs@irohlfs.de' => 'Ingo Rohlfs',
'ivangurdiev@linuxfreemail.com' => 'Ivan Gyurdiev',
'jack@suse.cz' => 'Jan Kara',
'jack_hammer@adaptec.com' => 'Jack Hammer',
'jaharkes@cs.cmu.edu' => 'Jan Harkes',
'jakob.kemi@telia.com' => 'Jakob Kemi',
'jamagallon@able.es' => 'J. A. Magallon',
'james.bottomley@steeleye.com' => 'James Bottomley',
'james@cobaltmountain.com' => 'James Mayer',
'james_mcmechan@hotmail.com' => 'James McMechan',
'jamey.hicks@hp.com' => 'Jamey Hicks',
'jamey@crl.dec.com' => 'Jamey Hicks',
'jani@astechnix.ro' => 'Jani Monoses',
'jani@iv.ro' => 'Jani Monoses',
'jb@jblache.org' => 'Julien Blache',
'jbarnes@sgi.com' => 'Jesse Barnes',
'jbglaw@lug-owl.de' => 'Jan-Benedict Glaw',
'jblack@linuxguru.net' => 'James Blackwell',
'jdavid@farfalle.com' => 'David Ruggiero',
'jdike@jdike.wstearns.org' => 'Jeff Dike',
'jdike@karaya.com' => 'Jeff Dike',
'jdike@uml.karaya.com' => 'Jeff Dike',
'jdr@farfalle.com' => 'David Ruggiero',
'jdthood@yahoo.co.uk' => 'Thomas Hood',
'jeb.j.cramer@intel.com' => 'Jeb J. Cramer',
'jeffs@accelent.com' => 'Jeff Sutherland', # lbdb
'jejb@mulgrave.(none)' => 'James Bottomley', # from shortlog
'jejb@raven.il.steeleye.com' => 'James Bottomley',
'jenna.s.hall@intel.com' => 'Jenna S. Hall', # google
'jes@trained-monkey.org' => 'Jes Sorensen',
'jes@wildopensource.com' => 'Jes Sorensen',
'jgarzik@fokker2.devel.redhat.com' => 'Jeff Garzik',
'jgarzik@mandrakesoft.com' => 'Jeff Garzik',
'jgarzik@pobox.com' => 'Jeff Garzik',
'jgarzik@redhat.com' => 'Jeff Garzik',
'jgarzik@rum.normnet.org' => 'Jeff Garzik',
'jgarzik@tout.normnet.org' => 'Jeff Garzik',
'jgrimm2@us.ibm.com' => 'Jon Grimm',
'jgrimm@jgrimm.austin.ibm.com' => 'Jon Grimm', # google
'jgrimm@touki.austin.ibm.com' => 'Jon Grimm', # google
'jgrimm@touki.qip.austin.ibm.com' => 'Jon Grimm', # google
'jhammer@us.ibm.com' => 'Jack Hammer',
'jkt@helius.com' => 'Jack Thomasson',
'jmorris@intercode.com.au' => 'James Morris',
'jo-lkml@suckfuell.net' => 'Jochen Suckfuell',
'jochen@jochen.org' => 'Jochen Hein',
'joe@fib011235813.fsnet.co.uk' => 'Joe Thornber',
'joe@wavicle.org' => 'Joe Burks',
'joergprante@netcologne.de' => 'Jörg Prante',
'johann.deneux@it.uu.se' => 'Johann Deneux',
'johannes@erdfelt.com' => 'Johannes Erdfelt',
'john@deater.net' => 'John Clemens',
'john@grabjohn.com' => 'John Bradford',
'john@larvalstage.com' => 'John Kim',
'johnpol@2ka.mipt.ru' => 'Evgeniy Polyakov',
'johnstul@us.ibm.com' => 'John Stultz',
'jsiemes@web.de' => 'Josef Siemes',
'jsimmons@heisenberg.transvirtual.com' => 'James Simmons',
'jsimmons@infradead.org' => 'James Simmons',
'jsimmons@kozmo.(none)' => 'James Simmons',
'jsimmons@maxwell.earthlink.net' => 'James Simmons',
'jsimmons@transvirtual.com' => 'James Simmons',
'jsm@udlkern.fc.hp.com' => 'John Marvin',
'jt@bougret.hpl.hp.com' => 'Jean Tourrilhes',
'jt@hpl.hp.com' => 'Jean Tourrilhes',
'jtyner@cs.ucr.edu' => 'John Tyner',
'jun.nakajima@intel.com' => 'Jun Nakajima',
'jung-ik.lee@intel.com' => 'J.I. Lee',
'jwoithe@physics.adelaide.edu.au' => 'Jonathan Woithe',
'k-suganuma@mvj.biglobe.ne.jp' => 'Kimio Suganuma',
'k.kasprzak@box43.pl' => 'Karol Kasprzak', # by Kristian Peters
'kaber@trash.net' => 'Patrick McHardy',
'kai-germaschewski@uiowa.edu' => 'Kai Germaschewski',
'kai.makisara@kolumbus.fi' => 'Kai Makisara',
'kai.reichert@udo.edu' => 'Kai Reichert',
'kai@chaos.tp1.ruhr-uni-bochum.de' => 'Kai Germaschewski',
'kai@tp1.ruhr-uni-bochum.de' => 'Kai Germaschewski',
'kala@pinerecords.com' => 'Tomas Szepe',
'kanoj@vger.kernel.org' => 'Kanoj Sarcar', # sent by Arnaldo Carvalho de Melo
'kanojsarcar@yahoo.com' => 'Kanoj Sarcar',
'kaos@ocs.com.au' => 'Keith Owens',
'kaos@sgi.com' => 'Keith Owens', # sent by himself
'kasperd@daimi.au.dk' => 'Kasper Dupont',
'keithu@parl.clemson.edu' => 'Keith Underwood',
'kenneth.w.chen@intel.com' => 'Kenneth W. Chen',
'kernel@steeleye.com' => 'Paul Clements',
'key@austin.ibm.com' => 'Kent Yoder',
'khaho@koti.soon.fi' => 'Ari Juhani Hämeenaho',
'khalid@fc.hp.com' => 'Khalid Aziz',
'khalid_aziz@hp.com' => 'Khalid Aziz',
'khc@pm.waw.pl' => 'Krzysztof Halasa',
'kiran@in.ibm.com' => 'Ravikiran G. Thirumalai',
'kisza@sch.bme.hu' => 'Andras Kis-Szabo', # google (netfilter-ext HOWTO)
'kkeil@suse.de' => 'Karsten Keil',
'kmsmith@umich.edu' => 'Kendrick M. Smith',
'knan@mo.himolde.no' => 'Erik Inge Bolsø',
'komujun@nifty.com' => 'Jun Komuro', # google
'kraxel@bytesex.org' => 'Gerd Knorr',
'kraxel@suse.de' => 'Gerd Knorr',
'krkumar@us.ibm.com' => 'Krishna Kumar',
'kronos@kronoz.cjb.net' => 'Luca Tettamanti',
'kuba@mareimbrium.org' => 'Kuba Ober',
'kuebelr@email.uc.edu' => 'Robert Kuebel',
'kuznet@mops.inr.ac.ru' => 'Alexey Kuznetsov',
'kuznet@ms2.inr.ac.ru' => 'Alexey Kuznetsov',
'ladis@psi.cz' => 'Ladislav Michl',
'laforge@gnumonks.org' => 'Harald Welte',
'laurent@latil.nom.fr' => 'Laurent Latil',
'lawrence@the-penguin.otak.com' => 'Lawrence Walton',
'ldb@ldb.ods.org' => 'Luca Barbieri',
'ldm@flatcap.org' => 'Richard Russon',
'lee@compucrew.com' => 'Lee Nash', # lbdb
'leigh@solinno.co.uk' => 'Leigh Brown', # lbdb
'levon@movementarian.org' => 'John Levon',
'linux@brodo.de' => 'Dominik Brodowski',
'linux@hazard.jcu.cz' => 'Jan Marek',
'lionel.bouton@inet6.fr' => 'Lionel Bouton',
'lists@mdiehl.de' => 'Martin Diehl',
'liyang@nerv.cx' => 'Liyang Hu',
'lm@bitmover.com' => 'Larry McVoy',
'lord@sgi.com' => 'Stephen Lord',
'lowekamp@cs.wm.edu' => 'Bruce B. Lowekamp', # lbdb
'luc.vanoostenryck@easynet.be' => 'Luc Van Oostenryck', # lbdb
'lucasvr@terra.com.br' => 'Lucas Correia Villa Real', # google
'm.c.p@wolk-project.de' => 'Marc-Christian Petersen',
'maalanen@ra.abo.fi' => 'Marcus Alanen',
'mac@melware.de' => 'Armin Schindler',
'macro@ds2.pg.gda.pl' => 'Maciej W. Rozycki',
'maneesh@in.ibm.com' => 'Maneesh Soni',
'manfred@colorfullife.com' => 'Manfred Spraul',
'manik@cisco.com' => 'Manik Raina',
'mannthey@us.ibm.com' => 'Keith Mannthey',
'marc@mbsi.ca' => 'Marc Boucher',
'marcel@holtmann.org' => 'Marcel Holtmann', # sent by himself
'marcelo@conectiva.com.br' => 'Marcelo Tosatti',
'marcelo@freak.distro.conectiva' => 'Marcelo Tosatti', # guessed
'marcelo@plucky.distro.conectiva' => 'Marcelo Tosatti',
'marekm@amelek.gda.pl' => 'Marek Michalkiewicz',
'mark@alpha.dyndns.org' => 'Mark W. McClelland',
'mark@hal9000.dyndns.org' => 'Mark W. McClelland',
'markh@osdl.org' => 'Mark Haverkamp',
'martin.bligh@us.ibm.com' => 'Martin J. Bligh',
'martin@bruli.net' => 'Martin Brulisauer',
'martin@meltin.net' => 'Martin Schwenke',
'mason@suse.com' => 'Chris Mason',
'matt_domsch@dell.com' => 'Matt Domsch', # sent by himself
'matthew@wil.cx' => 'Matthew Wilcox',
'mauelshagen@sistina.com' => 'Heinz J. Mauelshagen',
'maxk@qualcomm.com' => 'Maksim Krasnyanskiy',
'maxk@viper.(none)' => 'Maksim Krasnyanskiy', # from shortlog
'maxk@viper.qualcomm.com' => 'Maksim Krasnyanskiy',
'mbligh@aracnet.com' => 'Martin J. Bligh',
'mcp@linux-systeme.de' => 'Marc-Christian Petersen',
'mdharm-scsi@one-eyed-alien.net' => 'Matthew Dharm',
'mdharm-usb@one-eyed-alien.net' => 'Matthew Dharm',
'mdharm@one-eyed-alien.net' => 'Matthew Dharm',
'mec@shout.net' => 'Michael Elizabeth Chastain',
'mgreer@mvista.com' => 'Mark A. Greer', # lbdb
'michaelw@foldr.org' => 'Michael Weber', # google
'michal@harddata.com' => 'Michal Jaegermann',
'mikal@stillhq.com' => 'Michael Still',
'mikael.starvik@axis.com' => 'Mikael Starvik',
'mikep@linuxtr.net' => 'Mike Phillips',
'mikpe@csd.uu.se' => 'Mikael Pettersson',
'mikulas@artax.karlin.mff.cuni.cz' => 'Mikulas Patocka',
'miles@lsi.nec.co.jp' => 'Miles Bader',
'miles@megapathdsl.net' => 'Miles Lane',
'milli@acmeps.com' => 'Michael Milligan',
'miltonm@bga.com' => 'Milton Miller', # by Kristian Peters
'mingo@elte.hu' => 'Ingo Molnar',
'mingo@redhat.com' => 'Ingo Molnar',
'mj@ucw.cz' => 'Martin Mares',
'mkp@mkp.net' => 'Martin K. Petersen', # lbdb
'mlang@delysid.org' => 'Mario Lang', # google
'mlindner@syskonnect.de' => 'Mirko Lindner',
'mlocke@mvista.com' => 'Montavista Software, Inc.',
'mmcclell@bigfoot.com' => 'Mark McClelland',
'mochel@geena.pdx.osdl.net' => 'Patrick Mochel',
'mochel@osdl.org' => 'Patrick Mochel',
'mochel@segfault.osdl.org' => 'Patrick Mochel',
'mostrows@speakeasy.net' => 'Michal Ostrowski',
'msw@redhat.com' => 'Matt Wilson',
'mufasa@sis.com.tw' => 'Mufasa Yang', # sent by himself
'mulix@actcom.co.il' => 'Muli Ben-Yehuda', # sent by himself
'mw@microdata-pos.de' => 'Michael Westermann',
'mzyngier@freesurf.fr' => 'Marc Zyngier',
'n0ano@n0ano.com' => 'Don Dugger',
'nahshon@actcom.co.il' => 'Itai Nahshon',
'nathans@sgi.com' => 'Nathan Scott',
'neilb@cse.unsw.edu.au' => 'Neil Brown',
'nemosoft@smcc.demon.nl' => 'Nemosoft Unv.',
'nico@cam.org' => 'Nicolas Pitre',
'nicolas.aspert@epfl.ch' => 'Nicolas Aspert',
'nicolas.mailhot@laposte.net' => 'Nicolas Mailhot',
'nkbj@image.dk' => 'Niels Kristian Bech Jensen',
'nmiell@attbi.com' => 'Nicholas Miell',
'nobita@t-online.de' => 'Andreas Busch',
'okir@suse.de' => 'Olaf Kirch', # lbdb
'olaf.dietsche#list.linux-kernel@t-online.de' => 'Olaf Dietsche',
'olaf.dietsche' => 'Olaf Dietsche',
'oleg@tv-sign.ru' => 'Oleg Nesterov',
'olh@suse.de' => 'Olaf Hering',
'oliendm@us.ibm.com' => 'Dave Olien',
'oliver.neukum@lrz.uni-muenchen.de' => 'Oliver Neukum',
'oliver@neukum.name' => 'Oliver Neukum',
'oliver@neukum.org' => 'Oliver Neukum',
'oliver@oenone.homelinux.org' => 'Oliver Neukum',
'orjan.friberg@axis.com' => 'Orjan Friberg',
'os@emlix.com' => 'Oskar Schirmer', # sent by himself
'osst@riede.org' => 'Willem Riede',
'otaylor@redhat.com' => 'Owen Taylor',
'p2@ace.ulyssis.sutdent.kuleuven.ac.be' => 'Peter De Shrijver',
'p_gortmaker@yahoo.com' => 'Paul Gortmaker',
'pasky@ucw.cz' => 'Petr Baudis',
'patmans@us.ibm.com' => 'Patrick Mansfield',
'paul.mundt@timesys.com' => 'Paul Mundt', # google
'paulkf@microgate.com' => 'Paul Fulghum',
'paulus@au1.ibm.com' => 'Paul Mackerras',
'paulus@nanango.paulus.ozlabs.org' => 'Paul Mackerras',
'paulus@quango.ozlabs.ibm.com' => 'Paul Mackerras',
'paulus@samba.org' => 'Paul Mackerras',
'pavel@janik.cz' => 'Pavel Janík',
'pavel@suse.cz' => 'Pavel Machek',
'pavel@ucw.cz' => 'Pavel Machek',
'pazke@orbita1.ru' => 'Andrey Panin',
'pbadari@us.ibm.com' => 'Badari Pulavarty',
'pdelaney@lsil.com' => 'Pam Delaney',
'pe1rxq@amsat.org' => 'Jeroen Vreeken',
'pekon@informatics.muni.cz' => 'Petr Konecny',
'perex@perex.cz' => 'Jaroslav Kysela',
'perex@pnote.perex-int.cz' => 'Jaroslav Kysela',
'perex@suse.cz' => 'Jaroslav Kysela',
'peter@cadcamlab.org' => 'Peter Samuelson',
'peter@chubb.wattle.id.au' => 'Peter Chubb',
'peterc@gelato.unsw.edu.au' => 'Peter Chubb',
'petero2@telia.com' => 'Peter Osterlund',
'petkan@mastika.dce.bg' => 'Petko Manolov',
'petkan@rakia.dce.bg' => 'Petko Manolov',
'petkan@rakia.hell.org' => 'Petko Manolov',
'petkan@tequila.dce.bg' => 'Petko Manolov',
'petkan@users.sourceforge.net' => 'Petko Manolov',
'petr@vandrovec.name' => 'Petr Vandrovec',
'petri.koistinen@iki.fi' => 'Petri Koistinen',
'phillim2@comcast.net' => 'Mike Phillips',
'pkot@linuxnews.pl' => 'Pawel Kot',
'plars@austin.ibm.com' => 'Paul Larson',
'plcl@telefonica.net' => 'Pedro Lopez-Cabanillas',
'pmenage@ensim.com' => 'Paul Menage',
'porter@cox.net' => 'Matt Porter',
'prom@berlin.ccc.de' => 'Ingo Albrecht',
'proski@gnu.org' => 'Pavel Roskin',
'pwaechtler@mac.com' => 'Peter Wächtler',
'quinlan@transmeta.com' => 'Daniel Quinlan',
'quintela@mandrakesoft.com' => 'Juan Quintela',
'r.e.wolff@bitwizard.nl' => 'Rogier Wolff', # lbdbq
'ralf@dea.linux-mips.net' => 'Ralf Bächle',
'ralf@linux-mips.org' => 'Ralf Bächle',
'ramune@net-ronin.org' => 'Daniel A. Nobuto',
'randy.dunlap@verizon.net' => 'Randy Dunlap',
'ray-lk@madrabbit.org' => 'Ray Lee',
'rbh00@utsglobal.com' => 'Richard Hitt', # asked him, he prefers Richard
'rbt@mtlb.co.uk' => 'Robert Cardell',
'rct@gherkin.frus.com' => 'Bob Tracy',
'rddunlap@osdl.org' => 'Randy Dunlap',
'reality@delusion.de' => 'Udo A. Steinberg',
'reiser@namesys.com' => 'Hans Reiser',
'rem@osdl.org' => 'Bob Miller',
'rgooch@atnf.csiro.au' => 'Richard Gooch',
'rgooch@ras.ucalgary.ca' => 'Richard Gooch',
'rgs@linalco.com' => 'Roberto Gordo Saez',
'rhirst@linuxcare.com' => 'Richard Hirst',
'rhw@infradead.org' => 'Riley Williams',
'richard.brunner@amd.com' => 'Richard Brunner',
'riel@conectiva.com.br' => 'Rik van Riel',
'rjweryk@uwo.ca' => 'Rob Weryk',
'rl@hellgate.ch' => 'Roger Luethi',
'rlievin@free.fr' => 'Romain Lievin',
'rmk@arm.linux.org.uk' => 'Russell King',
'rmk@flint.arm.linux.org.uk' => 'Russell King',
'rml@tech9.net' => 'Robert Love',
'rob@osinvestor.com' => 'Rob Radez',
'robert.olsson@data.slu.se' => 'Robert Olsson',
'rohit.seth@intel.com' => 'Rohit Seth',
'roland@topspin.com' => 'Roland Dreier',
'romieu@cogenit.fr' => 'François Romieu',
'romieu@fr.zoreil.com' => 'François Romieu',
'root@viper.(none)' => 'Maxim Krasnyansky',
'rread@clusterfs.com' => 'Robert Read',
'rscott@attbi.com' => 'Rob Scott',
'rth@are.twiddle.net' => 'Richard Henderson',
'rth@dorothy.sfbay.redhat.com' => 'Richard Henderson',
'rth@dot.sfbay.redhat.com' => 'Richard Henderson',
'rth@splat.sfbay.redhat.com' => 'Richard Henderson',
'rth@twiddle.net' => 'Richard Henderson',
'rth@vsop.sfbay.redhat.com' => 'Richard Henderson',
'rui.sousa@laposte.net' => 'Rui Sousa',
'rusty@rustcorp.com.au' => 'Rusty Russell',
'rwhron@earthlink.net' => 'Randy Hron',
'rz@linux-m68k.org' => 'Richard Zidlicky',
'sabala@students.uiuc.edu' => 'Michal Sabala', # google
'sailer@scs.ch' => 'Thomas Sailer',
'sam@mars.ravnborg.org' => 'Sam Ravnborg',
'sam@ravnborg.org' => 'Sam Ravnborg',
'samel@mail.cz' => 'Vitezslav Samel',
'samuel.thibault@ens-lyon.fr' => 'Samuel Thibault',
'sandeen@sgi.com' => 'Eric Sandeen',
'santiago@newphoenix.net' => 'Santiago A. Nullo', # sent by self
'sarolaht@cs.helsinki.fi' => 'Pasi Sarolahti',
'sawa@yamamoto.gr.jp' => 'sawa',
'schoenfr@gaaertner.de' => 'Erik Schoenfelder',
'schwab@suse.de' => 'Andreas Schwab',
'schwidefsky@de.ibm.com' => 'Martin Schwidefsky',
'scott.feldman@intel.com' => 'Scott Feldman',
'scott_anderson@mvista.com' => 'Scott Anderson',
'scottm@somanetworks.com' => 'Scott Murray',
'sct@redhat.com' => 'Stephen C. Tweedie',
'sds@tislabs.com' => 'Stephen Smalley',
'sebastian.droege@gmx.de' => 'Sebastian Dröge',
'sfbest@us.ibm.com' => 'Steve Best',
'sfr@canb.auug.org.au' => 'Stephen Rothwell',
'shaggy@austin.ibm.com' => 'Dave Kleikamp',
'shaggy@kleikamp.austin.ibm.com' => 'Dave Kleikamp',
'shaggy@shaggy.austin.ibm.com' => 'Dave Kleikamp', # lbdb
'shingchuang@via.com.tw' => 'Shing Chuang',
'silicon@falcon.sch.bme.hu' => 'Szilárd Pásztor', # google
'simonb@lipsyncpost.co.uk' => 'Simon Burley',
'skip.ford@verizon.net' => 'Skip Ford',
'sl@lineo.com' => 'Stuart Lynne',
'smurf@osdl.org' => 'Nathan Dabney',
'snailtalk@linux-mandrake.com' => 'Geoffrey Lee', # by himself
'solar@openwall.com' => 'Solar Designer',
'sparker@sun.com' => 'Steven Parker', # by Duncan Laurie
'spse@secret.org.uk' => 'Simon Evans', # by Kristian Peters
'sridhar@dyn9-47-18-140.beaverton.ibm.com' => 'Sridhar Samudrala',
'sridhar@dyn9-47-18-86.beaverton.ibm.com' => 'Sridhar Samudrala',
'sridhar@x1-6-00-10-a4-8b-06-f6.attbi.com' => 'Sridhar Samudrala',
'srompf@isg.de' => 'Stefan Rompf',
'steiner@sgi.com' => 'Jack Steiner',
'stelian.pop@fr.alcove.com' => 'Stelian Pop',
'stelian@popies.net' => 'Stelian Pop',
'stern@rowland.harvard.edu' => 'Alan Stern',
'stern@rowland.org' => 'Alan Stern', # lbdb
'steve.cameron@hp.com' => 'Stephen Cameron',
'steve@chygwyn.com' => 'Steven Whitehouse',
'steve@gw.chygwyn.com' => 'Steven Whitehouse',
'steve@kbuxd.necst.nec.co.jp' => 'SL Baur',
'stevef@smfhome1.austin.rr.com' => 'Steve French',
'stevef@steveft21.ltcsamba' => 'Steve French',
'stuartm@connecttech.com' => 'Stuart MacDonald',
'sullivan@austin.ibm.com' => 'Mike Sullivan',
'suncobalt.adm@hostme.bitkeeper.com' => 'Tim Hockin', # by Duncan Laurie
'sunil.saxena@intel.com' => 'Sunil Saxena',
'swanson@uklinux.net' => 'Alan Swanson',
'szepe@pinerecords.com' => 'Tomas Szepe',
't-kouchi@mvf.biglobe.ne.jp' => 'Takayoshi Kouchi',
'tai@imasy.or.jp' => 'Taisuke Yamada',
'taka@valinux.co.jp' => 'Hirokazu Takahashi',
'tao@acc.umu.se' => 'David Weinehall', # by himself
'tao@kernel.org' => 'David Weinehall', # by himself
'tcallawa@redhat.com' => 'Tom Callaway',
'tetapi@utu.fi' => 'Tero Pirkkanen', # by Kristian Peters
'th122948@scl1.sfbay.sun.com' => 'Tim Hockin', # by Duncan Laurie
'th122948@scl3.sfbay.sun.com' => 'Tim Hockin', # by Duncan Laurie
'thiel@ksan.de' => 'Florian Thiel', # lbdb
'thockin@freakshow.cobalt.com' => 'Tim Hockin',
'thockin@sun.com' => 'Tim Hockin',
'tigran@aivazian.name' => 'Tigran Aivazian',
'tim@physik3.uni-rostock.de' => 'Tim Schmielau',
'tmcreynolds@nvidia.com' => 'Tom McReynolds',
'tmolina@cox.net' => 'Thomas Molina',
'tomita@cinet.co.jp' => 'Osamu Tomita',
'tomlins@cam.org' => 'Ed Tomlinson',
'tony.luck@intel.com' => 'Tony Luck',
'tony@cantech.net.au' => 'Anthony J. Breeds-Taurima',
'torvalds@athlon.transmeta.com' => 'Linus Torvalds',
'torvalds@home.transmeta.com' => 'Linus Torvalds',
'torvalds@kiwi.transmeta.com' => 'Linus Torvalds',
'torvalds@penguin.transmeta.com' => 'Linus Torvalds',
'torvalds@tove.transmeta.com' => 'Linus Torvalds',
'torvalds@transmeta.com' => 'Linus Torvalds',
'trini@bill-the-cat.bloom.county' => 'Tom Rini',
'trini@kernel.crashing.org' => 'Tom Rini',
'trond.myklebust@fys.uio.no' => 'Trond Myklebust',
'tvignaud@mandrakesoft.com' => 'Thierry Vignaud',
'tvrtko@net4u.hr' => 'Tvrtko A. Ursulin',
'twaugh@redhat.com' => 'Tim Waugh',
'tytso@mit.edu' => "Theodore Ts'o", # web.mit.edu/tytso/www/home.html
'tytso@snap.thunk.org' => "Theodore Ts'o",
'tytso@think.thunk.org' => "Theodore Ts'o", # guessed
'urban@teststation.com' => 'Urban Widmark',
'uzi@uzix.org' => 'Joshua Uziel',
'valko@linux.karinthy.hu' => 'Laszlo Valko',
'vandrove@vc.cvut.cz' => 'Petr Vandrovec',
'varenet@parisc-linux.org' => 'Thibaut Varene',
'vberon@mecano.gme.usherb.ca' => 'Vincent Béron',
'venkatesh.pallipadi@intel.com' => 'Venkatesh Pallipadi',
'viro@math.psu.edu' => 'Alexander Viro',
'vojta@math.berkeley.edu' => 'Paul Vojta',
'vojtech@suse.cz' => 'Vojtech Pavlik',
'vojtech@twilight.ucw.cz' => 'Vojtech Pavlik',
'vojtech@ucw.cz' => 'Vojtech Pavlik', # added by himself
'wa@almesberger.net' => 'Werner Almesberger',
'wahrenbruch@kobil.de' => 'Thomas Wahrenbruch',
'wd@denx.de' => 'Wolfgang Denk',
'wes@infosink.com' => 'Wes Schreiner',
'wg@malloc.de' => 'Wolfram Gloger', # lbdb
'whitney@math.berkeley.edu' => 'Wayne Whitney',
'will@sowerbutts.com' => 'William R. Sowerbutts',
'willy@debian.org' => 'Matthew Wilcox',
'willy@fc.hp.com' => 'Matthew Wilcox',
'willy@w.ods.org' => 'Willy Tarreau',
'wilsonc@abocom.com.tw' => 'Wilson Chen', # google
'wim@iguana.be' => 'Wim Van Sebroeck',
'wli@holomorphy.com' => 'William Lee Irwin III',
'wolfgang.fritz@gmx.net' => 'Wolfgang Fritz', # by Kristian Peters
'wolfgang@iksw-muees.de' => 'Wolfgang Muees',
'wrlk@riede.org' => 'Willem Riede',
'wstinson@infonie.fr' => 'William Stinson',
'wstinson@wanadoo.fr' => 'William Stinson',
'xkaspa06@stud.fee.vutbr.cz' => 'Tomas Kasparek',
'yokota@netlab.is.tsukuba.ac.jp' => 'Yokota Hiroshi',
'yoshfuji@linux-ipv6.org' => 'Hideaki Yoshifuji', # lbdb
'yuri@acronis.com' => 'Yuri Per', # lbdb
'zaitcev@redhat.com' => 'Pete Zaitcev',
'zippel@linux-m68k.org' => 'Roman Zippel',
'zubarev@us.ibm.com' => 'Irene Zubarev', # google
'zwane@commfireservices.com' => 'Zwane Mwaikambo',
'zwane@holomorphy.com' => 'Zwane Mwaikambo',
'zwane@linuxpower.ca' => 'Zwane Mwaikambo',
'zwane@mwaikambo.name' => 'Zwane Mwaikambo',
'~~~~~~thisentrylastforconvenience~~~~~' => 'Cesar Brutus Anonymous'
);
sub doprint(\%@ ); # forward declaration
my %address_unknown;
# get name associated to an email address
sub rmap_address {
my @o = map {defined $addresses{$_} ? $addresses{$_} :
scalar (($address_unknown{$_} = 1), $_); }
map { lc; } @_;
return wantarray ? @o : $o[0];
}
# case insensitive string comparison
# FIXME: use locale?
sub caseicmp { uc($a) cmp uc($b) };
# case insensitive string comparison by surname
# Strings are of the form
# "Firstname Surname <mailaddress>"
# or
# "<mailaddress>"
sub caseicmpbysurname {
my $alast = "";
my $blast = "";
if ($a =~ m/(\S+)\s*(\s\<|$)/) { $alast = $1; }
if ($b =~ m/(\S+)\s*(\s\<|$)/) { $blast = $1; }
return uc($alast . $a) cmp uc($blast . $b);
}
my ($author, $address, $name);
# * $address is always an email address
# * $author can be the email address or Joe N. Sixpack II <joe6@example.com>
# (ready formatted to print)
# * $name is the name (Joe N. Sixpack II) or the mail address
# (<joe6@example.com>)
sub get_name() { return $name; }
sub get_author() { return $author; }
# This table maps MODE => { myhash }
# myhash knows the keys "index" and "print" to choose the respective functions
my %table =
(
'oneline' => { 'index' => \&get_name,
'print' => \&print_oneline },
'terse' => { 'index' => \&get_name,
'print' => \&print_terse },
'grouped' => { 'index' => \&get_author,
'print' => \&print_grouped },
'full' => { 'index' => \&get_author,
'print' => \&print_full }
);
# temp store
my $indexby;
# The sort function we will use
my $namesortfunc;
# Global store #############
# We store our options here.
my %opt;
# As we are parsing, the log is accumulated in the @cur array. When
# we are done with one item (end of input or new mail address found),
# stuff a copy of this @cur array into the %log hash.
sub append_item(\%@)
# arguments: reference to hash
# array to push
{
my $log = shift;
my @cur = @_;
return unless @cur;
return unless &$indexby;
$log->{&$indexby} = () unless defined $log->{&$indexby};
# strip trailing blank lines
my $t;
while (($t = pop(@cur)) eq '') { };
push @cur, $t;
# store the array
push @{$log->{&$indexby}}, [@cur];
}
# Remove duplicates from hash, without changing the order.
# Prefix duplicates with the count.
sub countdups(@) {
my %t;
croak "do not call removedups() in scalar context" unless wantarray;
my @u = grep (!$t{lc $_}++, @_);
return map {
$t{lc $_} > 1 ? sprintf("%d x ", $t{lc $_}) . $_ : $_;
} @u;
}
# Remove duplicates from array, without changing the order. The
# duplicates need not follow each other, so A B A is properly
# stripped down to A B
sub removedups(@) {
my %t;
croak "do not call removedups() in scalar context" unless wantarray;
return grep (!$t{lc $_}++, @_);
}
# Compress the hash passed in, depending on the --compress and --count
# options in the %opt hash.
sub compress(@) {
croak "do not call compress() in scalar context" unless wantarray;
if ($opt{compress}) {
if ($opt{count}) {
return countdups(@_);
} else {
return removedups(@_);
}
} else {
return @_;
}
}
# report write error, exit
# do not return
sub write_error() {
croak "Write error: $!\nAborting";
exit (1);
}
# implementation of "grouped" output:
# author:
# first line of log1
# first line of log2
sub print_grouped(\%) {
my $log = shift;
for (sort $namesortfunc keys %$log) {
my @lines = compress(map { $_->[0] . "\n"; } @{$log->{$_}});
if ($opt{width}) {
@lines = map { expand(wrap($indent1, $indent, ($_))); } @lines;
} else {
@lines = map { "$indent1$_" } @lines;
}
printtag($_) or write_error();
print join("", @lines), "\n" or write_error();
}
}
# implementation of "full" output
# author:
# o log1
# more information on changeset1
# o log2
# more information on changeset2
sub print_full(\%) {
my $log = shift;
for (sort $namesortfunc keys %$log) {
printtag($_) or write_error();
foreach (compress(@{$log->{$_}})) {
my @lines = map { s/^\t//; "$_\n"; } @$_;
if ($opt{width}) {
@lines = expand(wrap($indent1, $indent, @lines));
} else {
@lines = map { "$indent$_"; } @lines;
substr($lines[0], $[, length($indent1)) = $indent1;
}
print join("", @lines), "\n" or write_error();
}
}
print "\n" or write_error();
}
# implementation of "terse" output
# with --swap without --swap
# author1: log1 log1 (author1)
# author1: log2 log2 (author2)
# author2: log3 log3 (author3)
sub print_terse(\%) {
my $log = shift;
for (sort $namesortfunc keys %$log) {
my $a = $_;
if ($opt{width}) {
if ($opt{swap}) {
foreach (compress(map { $_->[0]; } @{$log->{$_}})) {
my @lines = expand(wrap($indent1, $indent, ("$a: $_")));
print join("\n", @lines), "\n" or write_error();
}
} else {
# width, but not swap set
foreach (compress(map { $_->[0]; } @{$log->{$_}})) {
my @addr = expand(split(/\n/, wrap('', $indent, " ($a)")));
my @lines = expand(split(/\n/, wrap($indent1, $indent, ($_))));
if (length($lines[$#lines]) + length($addr[0]) > $opt{width}) {
push @lines, '';
}
$lines[$#lines] .= sprintf("%*s", $opt{width}
- length($lines[$#lines]), $addr[0]);
shift @addr;
print join("\n", @lines), "\n" or write_error();
foreach (@addr) {
printf "%*s\n", $opt{width}, $_ or write_error();
}
}
}
} else {
# using the ?: operator within the map is more maintainable, but
# less efficient.
if ($opt{swap}) {
print join("\n", map { "$indent1$a: $_" }
compress(map { $_->[0]; } @{$log->{$_}})), "\n"
or write_error();
} else {
print join("\n", map { "$indent1$_ ($a)" }
compress(map { $_->[0]; } @{$log->{$_}})), "\n"
or write_error();
}
}
}
}
# implementation of "oneline" output
# which is similar to terse but reformats to one line exactly
# with --swap without --swap
# author1: log1 log1 (author1)
# author1: log2 log2 (author2)
# author2: log3 log3 (author3)
sub print_oneline(\%) {
my $log = shift;
for (sort $namesortfunc keys %$log) {
my $a = $_;
if ($opt{width}) {
if ($opt{swap}) {
foreach (compress(map { $_->[0]; } @{$log->{$_}})) {
my $str = "$a: $_";
if (length($str) > $opt{width}) {
printf "%-.*s...\n", $opt{width}-3, $indent1 . "$a: $_"
or write_error();
} else {
printf "%-.*s\n", $opt{width}, $indent1 . "$a: $_"
or write_error();
}
}
} else { # not swapping
foreach (compress(map { $_->[0]; } @{$log->{$_}})) {
my $l = $opt{width} - length($indent1) - length($a) - 3;
if (length($_) > $l) {
$l -= 3;
printf "%s%-*.*s... (%s)\n", $indent1, $l, $l, $_, $a;
} else {
printf "%s%-*.*s (%s)\n", $indent1, $l, $l, $_, $a;
}
}
}
} else {
# not $opt{width} -> same as print_terse
print_terse(%$log);
}
}
}
# Abbreviate all components of the name except the last. If capital
# Roman numerals form the last component, leave that and the previous
# component alone.
sub abbreviate_name($ ) {
my @a = split /\s+/, $_[0];
# treat Roman numerals as last part of name
my $off = 0;
$off = 1 if ($a[$#a] =~ /^[IVXLCMD]+$/);
for (my $i = 0; $i < $#a - $off; $i++) {
$a[$i] =~ s/^(.).*/$1./;
}
return join(" ", @a);
}
# Read a file and parse it into the %log hash.
sub parse_file(\%$$ ) {
# arguments: %log hash
# file name
# file handle (IO::Handle or IO::File)
croak unless wantarray;
my $log = shift;
my $fn = shift;
my $fh = shift;
my @prolog;
local $_;
# initialize
my @cur = ();
my $first = 0;
my $firstpar = 0;
undef $address;
# now go!
# NOTE: the first @cur item can consist of multiple lines in the
# source file which are joined together. This happens when the first
# paragraph is longer than a single line.
while($_ = $fh -> getline) {
chomp;
s/^ (\S)/\t$1/;
# expand all tabs but the first
$_ = expand($_);
s/^ /\t/;
if (defined $address and $opt{multi}
and m{^[^<[:space:]]} and not m{^ChangeSet@}) {
# if we are in multi mode, if we encounter a non-address
# left-justified line, flush all data and print the header. The
# defined $address trick lets this only trigger to switch back
# from "log entry" to "prolog" mode
append_item(%$log, @cur); @cur = ();
doprint(%$log, @prolog);
print "\n" or write_error(); # print blank line between changelogs
@prolog = ($_);
undef %$log;
undef $address;
} elsif (m{^<([^>]+)>} or m{^ChangeSet@[0-9.]+,\s*[-0-9:+ ]+,\s*(.*)}) {
# go figure if a line starts with an address, if so, take it
# resolve the address to a name if possible
append_item(%$log, @cur); @cur = ();
$address = lc($1);
$address =~ s/\[[^]]+\]$//;
$name = rmap_address($address);
if ($name ne $address) {
if ($opt{'abbreviate-names'}) {
$name = abbreviate_name($name);
}
$author = $name . ' <' . $address . '>';
} else {
$author = '<' . $address . '>';
}
$first = 1;
$firstpar = 1;
} elsif ($first) {
# we have a "first" line after an address, take it,
# strip common redundant tags
# kill "PATCH" tag
s/^\s*\[PATCH\]//;
s/^\s*PATCH//;
s/^\s*[-:]+\s*//;
# strip trailing colon or period, and if we strip one,
# we don't parse further lines as part of the first paragraph
if (s/[:.]+\s*$//) { $firstpar = 0; }
# kill leading and trailing whitespace for consistent indentation
s/^\s+//; s/\s+$//;
push @cur, $_;
$first = 0;
} elsif (defined $address) {
# second or subsequent lines -- if in first paragraph,
# append this line to the first log line.
if (m/^\s*$/) { $firstpar = 0; }
elsif (m/^\s*[-*o\#]/) { $firstpar = 0; }
if ($firstpar) {
s/^\s*/ /;
$cur[0] .= $_;
} else {
push @cur, $_;
}
# we don't parse further lines as part of the first paragraph
if (s/[:.]+\s*$//) { $firstpar = 0; }
} else {
# store header before a changelog
push @prolog, $_;
}
}
if ($fh -> error) {
die "Error while reading from \"$fn\": $!";
}
# at file end, flush @cur array to %log.
append_item(%$log, @cur);
return @prolog;
}
# print a word-wrapped name or mail address, followed by a trailing colon.
# used by print_grouped and print_full
# passes the return value of print back up
sub printtag($ ) {
my $a = shift;
$a .= ':';
return print $opt{width} ? expand(wrap("", "", ($a))) : $a, "\n";
}
# === MAIN PROGRAM ===============================================
# Command line arguments
# What options do we support?
my @opts = ("help|?|h", "man", "mode=s", "compress!", "count!", "width:i",
"swap!", "merge!", "warn!", "multi!", "abbreviate-names!",
"by-surname!");
# "bitkeeper|bk!");
# How do we parse them?
if ($Getopt::Long::VERSION gt '2.24') {
Getopt::Long::Configure("gnu_getopt");
}
# set default options
$opt{mode} = 'grouped';
$opt{warn} = 1;
# Parse from environment, temporarily storing the original @ARGV.
if (defined $ENV{LINUXKERNEL_BK_FMT}) {
my @savedargs = @ARGV;
@ARGV = parse_line('\s+', 0, $ENV{LINUXKERNEL_BK_FMT});
GetOptions(\%opt, @opts)
or pod2usage(-verbose => 0,
-message => $0 . ': error in $LINUXKERNEL_BK_FMT');
push @ARGV, @savedargs;
}
# Parse command line. Handle help, check for errors.
GetOptions(\%opt, @opts) or pod2usage(-verbose => 0);
pod2usage(-verbose => 1) if $opt{help};
pod2usage(-verbose => 2) if $opt{man};
pod2usage(-verbose => 0,
-message => ("$0: Unknown mode specified.\nValid modes are:\n "
. join(" ", sort keys %table) . "\n"))
unless defined $table{$opt{mode}};
pod2usage(-verbose => 0,
-message => "$0: No files given, refusing to read from a TTY.")
if (not $opt{bitkeeper} and (@ARGV == 0) and (-t STDIN));
pod2usage(-verbose => 0,
-message => "$0: Must have one or two arguments in --bitkeeper mode.")
if ($opt{bitkeeper} && (@ARGV < 1 || @ARGV > 2));
pod2usage(-verbose => 0,
-message => "$0: You cannot use --merge and --multi at the same time.")
if ($opt{merge} and $opt{multi});
# Shortcut for programmer convenience :-)
$indexby = $table{$opt{mode}}->{'index'};
# --count implies --compress
if ($opt{count}) { $opt{compress} = 1; }
# Set the sort function
$namesortfunc = \&caseicmp;
if ($opt{'by-surname'}) { $namesortfunc = \&caseicmpbysurname; }
# if --width is without argument or the argument is zero,
# try to figure $COLUMNS or fall back to 80.
if (exists $opt{width} and not $opt{width}) {
$opt{width} = $ENV{COLUMNS} ? $ENV{COLUMNS} : 80;
}
# Print the passed-in array linewise, checking for write errors
# Then call the configured function to print %log formatted
sub doprint(\%@ ) {
my $log = shift;
print join("\n", @_), "\n" or write_error();
$table{$opt{mode}}->{print}->($log);
}
# --------------------------------------------------------------------
# Global initializations
$Text::Tabs::tabstop = 8;
$Text::Wrap::huge = 'wrap';
if ($opt{width}) {
$Text::Wrap::columns = $opt{width};
}
if ($debug) {
print STDERR "DEBUG: Options summary:\n";
while (my ($k, $v) = each %opt) { print STDERR "DEBUG: '$k' => '$v'\n"; }
print STDERR "DEBUG: Arguments summary:\n";
foreach (@ARGV) { print STDERR "DEBUG: '$_'\n"; }
}
# Main program
my @prolog;
my %log;
if($opt{bitkeeper}) {
# in Bitkeeper mode, try to figure the change set, and connect the
# bk program to our stdin.
die "not yet implemented";
} elsif (@ARGV) {
# file names
foreach my $fn (@ARGV) {
my $fh = new IO::File;
$fh->open($fn, "r")
or die "cannot open \"$fn\": $!\nAborting";
push @prolog, parse_file(%log, $fn, $fh);
if (not $opt{merge}) {
doprint(%log, @prolog);
undef %log;
}
undef @prolog;
}
if ($opt{merge}) {
doprint(%log, ());
}
} else {
# stdin
my @prolog;
my $fh = new IO::Handle;
$fh->fdopen(fileno(STDIN), "r")
or die "cannot open stdin: $!\nAborting";
@prolog = parse_file(%log, "stdin", $fh);
doprint(%log, @prolog);
}
# Flush STDOUT to prevent clobbering STDOUT with 2>&1-style redirections.
$| = 1;
# Warn about unknown addresses
if ($opt{warn}) {
foreach (sort caseicmp keys %address_unknown) {
print STDERR "Warning: unknown address \"$_\"\n" or write_error();
}
}
__END__
# --------------------------------------------------------------------
# $Log: lk-changelog.pl,v $
# Revision 0.64 2003/01/08 14:48:50 emma
# New addresses by Vita.
#
# Revision 0.63 2003/01/08 14:47:37 emma
# New addresses by Vita.
#
# Revision 0.62 2002/12/27 16:59:28 emma
# Another ten addresses sent by Vitezslav Samel.
#
# Revision 0.61 2002/12/14 14:28:49 emma
# Bjorn Helgaas only uses the transscribed version of his name himself.
#
# Revision 0.60 2002/12/13 14:51:35 emma
# Next dozen of addresses digged out by Vita.
#
# Revision 0.59 2002/12/11 12:11:51 emma
# Workaround: strip trailing [tag] from mail addresses, reported by Marcel
# Holtmann.
# Add some new addresses.
#
# Revision 0.58 2002/12/07 15:14:57 emma
# More addresses figured by Vitezslav Samel.
#
# Revision 0.57 2002/12/07 15:08:34 emma
# 3 more addresses.
#
# Revision 0.56 2002/11/28 02:32:11 emma
# List David Weinehall.
#
# Revision 0.55 2002/11/27 04:44:54 emma
# Add kaos@sgi.com for Keith Owens as per his own request.
#
# Revision 0.54 2002/11/26 23:27:11 emma
# Merge changes from Linus' version.
#
# Revision 0.53 2002/11/25 17:12:08 emma
# Add Lee Nash's address
#
# Revision 0.52 2002/11/14 14:50:21 emma
# Bugfix --by-surname for some modes. Add two addresses. Fix Carl-Daniel Hailfinger's address to lower case.
#
# Revision 0.51 2002/11/14 14:31:10 emma
# Add Carl-Daniel Hailfinger's new address. Add TODO item to see if regexp/wildcard match in address list is possible.
#
# Revision 0.50 2002/11/09 14:24:21 emma
# Add comment to Richard Hitt's address.
#
# Revision 0.49 2002/11/04 17:13:21 emma
# Add 4 addresses sent by Duncan Laurie.
#
# Revision 0.48 2002/11/04 12:37:38 emma
# Another four dozen addresses, courtesy of Vitezslav Samel.
#
# Revision 0.47 2002/11/04 12:19:17 emma
# Vitezslav Samel: Merge bugfix to treat addresses with upper-case characters in ChangeSet.
#
# Revision 0.46 2002/11/04 11:37:33 emma
# 7 new addresses.
#
# Revision 0.45 2002/11/04 11:26:41 emma
# 18 new addresses.
#
# Revision 0.44 2002/10/04 03:37:51 emma
# Track BK-kernel-tools changes to Jes Sorensen's name.
#
# Revision 0.43 2002/10/04 03:33:47 emma
# 4 new addresses.
#
# Revision 0.42 2002/10/01 20:20:33 emma
# Another 25 addresses for ChangeLog 2.5.3?, from google and lbdb.
#
# Revision 0.41 2002/10/01 19:45:20 emma
# Some detective work on google found another 19 addresses.
#
# Revision 0.40 2002/09/30 01:44:51 emma
# Drop bogus geert@linux-m68k.org.com address.
#
# Revision 0.39 2002/09/26 23:07:13 emma
# 46 new addresses from lbdb
#
# Revision 0.38 2002/09/26 22:37:29 emma
# 23 new addresses
#
# Revision 0.37 2002/09/26 22:27:37 emma
# Fix --multi mode.
#
# Revision 0.36 2002/08/29 09:13:40 emma
# Correct Vojtech Pavlik's addresses after mail from him.
#
# Revision 0.35 2002/08/21 13:49:46 emma
# Many new addresses and one correction by Vitezslav 'Vita' Samel <samel@mail.cz>
#
# Revision 0.34 2002/08/21 13:45:53 emma
# 2 new names
#
# Revision 0.33 2002/08/20 01:29:34 emma
# The usual set of new addresses.
#
# Revision 0.32 2002/08/20 01:14:40 emma
# Add Marcel Holtmann, who sent a patch.
#
# Revision 0.31 2002/08/12 22:34:41 emma
# Patch by Marcus Alanen <maalanen@ra.abo.fi>:
# Hi, patch to sort by developer surname, and a couple of more
# developers. Use if you want to.
#
# Revision 0.30 2002/07/20 17:18:28 emma
# Add one new address
#
# Revision 0.29 2002/07/17 23:10:13 emma
# 23 new addresses.
#
# Revision 0.28 2002/06/25 09:46:57 emma
# New mail addresses.
#
# Revision 0.27 2002/06/14 17:05:23 emma
# three new addresses
#
# Revision 0.26 2002/06/06 10:26:51 emma
# Get rid of global %log, pass it to sub functions by reference.
# Move IO::Handle/IO::File treatment back into main program.
# Prepare for integrating Bitkeeper.
#
# Revision 0.25 2002/06/04 00:01:23 emma
# Recognize "bk changes" output format (that is: "ChangeSet@1.234.5.6,
# date, programmer" tag line and body indented by two spaces). Reported
# by Marcelo Tosatti <marcelo@conectiva.com.br>. Former versions would
# only recognize the BK-kernel-tools/changelog format (see
# http://gkernel.bkbits.net:8080/BK-kernel-tools/anno/changelog@1.5?nav=index.html|src/).
#
# Revision 0.24 2002/06/03 13:33:00 emma
# * Fix 'grouped', 'terse', 'oneline' modes (change to parse_file()). We
# now take the first paragraph instead of the first line as log
# entry. We also guess where the paragraph ends, it ends at a line with
# trailing dot or colon, or if the next line is empty or starts with a
# "bullet" (that is -, *, o or #).
# * New option --abbreviate-names.
# * Fix 'full' mode indentation, broken in v0.21 by expanding the tabs.
# Now, the first tab is unexpanded again.
# * Enhance 'online' mode: if the log is truncated, append an ellipsis ("...").
# * Add more mail addresses.
# * Fix Brian Beattie's name (was "Michael Beattie").
#
# Revision 0.23 2002/06/03 12:36:01 emma
# More e-mail addresses.
#
# Revision 0.22 2002/05/29 20:28:20 emma
# Mail addresses added.
#
# Revision 0.21 2002/05/29 11:45:48 emma
# * Implement --mode=oneline.
# * Expand tabs in input lines (tab stops are spaced 8 columns away from each other).
# * Bugfix --multi mode: all append_item to flush @cur before printing.
# * Restore prolog detection in --multi mode for efficiency.
# * Undo the "unexpand()" that Text::Wrap does, it breaks our line width
# calculation. In the long run, a replacement for Text::Wrap must be
# found that does not unexpand().
#
# Revision 0.20 2002/05/29 10:44:35 emma
# New --multi option that states multiple changelogs are in the same file.
#
# Revision 0.19 2002/05/29 10:27:21 emma
# New option: --[no]warn: Warn about unknown addresses. By default
# enabled, use --nowarn to suppress.
#
# Revision 0.18 2002/05/29 10:17:00 emma
# New addresses.
#
# Revision 0.17 2002/05/25 23:32:49 emma
# Four new addresses.
#
# Revision 0.16 2002/05/22 15:52:26 emma
# Fix deliberate typo in use Pod::Usage that was left over from debugging.
#
# Revision 0.15 2002/05/22 14:05:13 emma
# Sort addresses/names case insensitively (not locale aware).
# Heed quotes when parsing $ENV{LINUXKERNEL_BK_FMT}. As I don't
# currently have Perl 5.004 to test the older Text::ParseWords
# implementation, script now requires Perl 5.005.
# Do not require Pod::Usage, but warn if it's missing.
#
# Revision 0.14 2002/05/22 12:39:59 emma
# Fold the print function dispatcher into %table.
# Parse files on command line individually, but allow to treat them as
# one with a new --merge option.
# Make @cur local to the parse function.
# Die on read errors on input files. Use IO::Handle to read files.
#
# Revision 0.13 2002/05/21 12:42:46 emma
# Add 3 mail addresses.
# Add commentary to the code.
# Check for write errors on STDOUT and die if one happens.
#
# Revision 0.12 2002/05/18 16:54:50 emma
# Make --compress work in terse mode.
# New feature: --swap in terse mode swaps address and log entry.
#
# Revision 0.11 2002/05/18 16:43:30 emma
# Support 'terse' mode.
#
# Revision 0.10 2002/05/18 16:15:10 emma
# Another set of addresses.
#
# Revision 0.9 2002/05/18 16:06:43 emma
# Dozens of new addresses.
#
# Revision 0.8 2002/05/18 15:46:01 emma
# 21 new addresses.
#
# Revision 0.7 2002/05/16 13:57:37 emma
# Add some documentation.
#
# Revision 0.6 2002/05/16 13:55:24 emma
# Fix shift ambiguity in printtag().
#
# Revision 0.5 2002/05/16 13:51:43 emma
# Implement grouped and full modes.
#
# Revision 0.4 2002/05/16 12:07:17 emma
# Add some POD.
# Do options and environment parsing.
# Prepare multiple output modes (only grouped supported at the moment.)
#
# Revision 0.3 2002/05/13 16:11:34 emma
# Compress identical ChangeLog lines (they need not be subsequent, note
# this feature has O(n^2) behaviour, where n is the number of stored
# ChangeLog lines per respective author):
# Soft-fp fix:
# Soft-fp fix:
# becomes:
# 2 x Soft-fp fix:
#
# Revision 0.2 2002/05/13 10:40:32 emma
# Only consider e-mail addresses that are left-justified.
# Suggested by Greg Kroah-Hartman <greg@kroah.com>.
#
=head1 NAME
lk-changelog.pl - Reformat BitKeeper ChangeLog for Linux Kernel
=head1 SYNOPSIS
lk-changelog.pl [options] [file [...]]
Try lk-changelog.pl --help or lk-changelog.pl --man for more information.
=head1 OPTIONS
-h, --help print this short help
--man print the manual page for this program
--[no]compress if true, suppress duplicate entries
--[no]count if true, fold duplicate entries into one,
prefixing it with the count. Implies --compress.
--[no]swap in terse and oneline mode, swap address and log entry.
--[no]merge treat all files on command line as one big file
and suppress the prolog
--[no]multi states that multiple changelogs are in one file
--[no]warn warn about unknown addresses. Default: set!
--[no]abbreviate-names
abbreviate all but the last name
--[no]by-surname
sort entries by surname
--mode=MODE specify the output format (use --man to find out more)
--width[=WIDTH] specify the line length, if omitted: $COLUMNS or 80.
text lines will not exceed this length.
Warning: Neither --compress nor --count are currently functional with
--mode=full.
=head1 DESCRIPTION
Summarizes or reformats BitKeeper ChangeLogs for Linux Kernel 2.X.
=head1 ENVIRONMENT
=over
=item LINUXKERNEL_BK_FMT
Default options. These have the same meaning and syntax as the command
line options and are parsed before them, so you can override defaults
set in this variable on the command line. B<Example:> If you put
--swap here and --noswap on your command line, --noswap takes
precedence.
=back
=head1 EXAMPLES
=over
=item Reformat ChangeLog-2.5.17, displaying all changes grouped by
their author (that is the default mode, but we specify it anyways),
with 76 character wide lines:
lk-changelog.pl --mode=grouped --width=76 ChangeLog-2.5.17
=item Reformat ChangeLog-2.5.18, displaying all changes and their
author on in "-ac changelog style", with 80 character wide lines:
lk-changelog.pl --mode=terse --width=80 ChangeLog-2.5.18
=item Reformat 2.4.19-pre ChangeLogs (several in one file) from your mailer:
Use the pipe command to pipe the mail into:
lk-changelog.pl --multi --mode=terse --width=80
=back
=head1 AUTHOR
=over
=item * Matthias Andree <matthias.andree@gmx.de>
Main developer
=item * Marcus Alanen <maalanen@abo.fi>
=item * Tomas Szepe <szepe@pinerecords.com>
=item * Further help from:
Albert D. Cahalan <acahalan@cs.uml.edu>, Robinson Maureira Castillo
<rmaureira@alumno.inacap.cl>, Greg Kroah-Hartman <greg@kroah.com>.
=back
=head1 BUGS
=over
=item * The header is not wrapped for --width character wide lines.
=item * The implementation is not yet finished.
=item * This manual page is incomplete.
=item * --compress does not currently work with --mode=full.
=item * does not detect if the changelog is already summarized (as in Marcelo's 2.4.19-pre9 announcement on the list)
=back
=head1 TODO
=over
=item * --compress-me-harder
To merge
o iget_locked [1/6]
o iget_locked [2/6]
...
o iget_locked [6/6]
into
o iget_locked [1..6/6]
=item * Integrate Bitkeeper
=item * See if the map can be made to use or accompanied by regexp.
=back
=cut
^ permalink raw reply
* Re: [patch 2.5] PCI: allow alternative methods for probing the BARs
From: Ivan Kokshaysky @ 2003-01-08 14:47 UTC (permalink / raw)
To: Grant Grundler
Cc: Benjamin Herrenschmidt, Linus Torvalds, Paul Mackerras,
Eric W. Biederman, davidm, linux-kernel
In-Reply-To: <20030107201700.GB32722@cup.hp.com>
On Tue, Jan 07, 2003 at 12:17:00PM -0800, Grant Grundler wrote:
> BTW, please don't equate PCI controller instance number with PCI Domain.
I agree, it's quite confusing. However, I don't think that the PCI spec
defines "PCI controller" or "PCI domain" terms, it's pretty much
implementation specific.
Assuming that each PCI controller can handle up to 256 bridged buses,
the unique PCI controller index and PCI bus number is all that userspace
needs to know in order to properly identify devices in the system.
> Current parisc platforms implement one PCI address space for each SBA
> (System Bus Adapter). HP ZX1 (IA64) platforms are based on parisc designs.
> Each SBA can have something like 8 or 16 PCI controllers below it.
It's somewhat similar to new alpha-ev7 systems: it can have 1 I/O
controller per CPU where each I/O controller has a 4x AGP bus and 3
PCI/PCI-X buses. However, each of these buses has its own address
space and IOMMU.
Ivan.
^ permalink raw reply
* Re: ipv6 stack seems to forget to send ACKs
From: Wichert Akkerman @ 2003-01-08 14:52 UTC (permalink / raw)
To: Maciej Soltysiak; +Cc: netdev, linux-kernel
In-Reply-To: <Pine.LNX.4.44.0301081535460.27551-100000@dns.toxicfilms.tv>
Previously Maciej Soltysiak wrote:
> Is there a ip6 mangling router in your route to the icecast server?
Not to my knowledge. traceroute6 shows:
traceroute to ipv6.lkml.org (2001:968:1::2) from
3ffe:8280:10:1d0:290:27ff:fe2d:968c, 30 hops max, 16 byte packets
1 thunder.wiggy.net (3ffe:8280:10:1d0:250:4ff:fe0b:dd79) 0.666 ms 0.22 ms 0.199 ms
2 xs4all-29.ipv6.xs4all.nl (3ffe:8280:0:2001::58) 27.568 ms 28.012 ms 30.177 ms
3 26.ge-0-2-0.xr1.pbw.xs4all.net (2001:888:0:3::1) 22.035 ms 19.528 ms 44.644 ms
4 0.ge-0-3-0.xr1.sara.xs4all.net (2001:888:2:1::1) 19.519 ms 19.002 ms 21.974 ms
5 fe-0-0-0.ams-core-01.network6.isp-services.nl (2001:7f8:1::a502:4875:1) 19.978 ms 30.278 ms 20.248 ms
6 2001:968::2 (2001:968::2) 24.246 ms 24.083 ms 22.918 ms
7 2001:968:1::2 (2001:968:1::2) 24.978 ms 23.866 ms 23.661 ms
thunder.wiggy.net is my Linux router running 2.4.19-pre5-ac3-freeswan196
currently. The second hop is a normal sit tunnel and all the other
hops are native ipv6 using Cisco and Juniper routers as far as I know.
If you want I can get a detailed list of the routers and the IOS/JunOS
versions they are running.
Wichert.
--
Wichert Akkerman <wichert@wiggy.net> http://www.wiggy.net/
A random hacker
^ permalink raw reply
* RE: killing a stuborn process
From: Shaw, Marco @ 2003-01-08 14:48 UTC (permalink / raw)
To: linux-admin
Tough one... Something weird with the process if it runs fine on another machine. Without knowing what the process does it's difficult to try to figure out what's going on.
I support you're trying to do a kill -9 on the PID itself. Try to track down the PPID, and see if you can cleanly kill that one, unless the PPID is "1"!
Marco
-----Original Message-----
From: Thomas Steinbrecher [mailto:thomas.steinbrecher@physchem.uni-freiburg.de]
Sent: Tuesday, January 07, 2003 3:34 PM
To: linux-admin@vger.kernel.org
Subject: killing a stuborn process
Greetings,
please excuse if this is a newbie question, I'm no computer expert.
I have several dual ATHLON PC's with Suse 8.0 in a Beowulf cluster on which I run molecular dynamics calculations.
On one of my machines the calculations stop sometimes
without apparent reason and I can't end the processes
anymore (kill -9 has no effect). The processes are shown as running by ps, but they produce no cpu load with top.
Is there another way to kill such a process?
I suppose one of the CPUs might be damaged, but how do I
test if that is true and what causes the processes to
hangup?
(The same calculation runs fine on another PC with
identical software and hardware setup)
Regards,
Thomas
-
To unsubscribe from this list: send the line "unsubscribe linux-admin" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: Honest does not pay here ...
From: Jesse Pollard @ 2003-01-08 14:59 UTC (permalink / raw)
To: Larry McVoy, venom; +Cc: Matthias Andree, linux-kernel, andre
In-Reply-To: <20030108003050.GF17310@work.bitmover.com>
On Tuesday 07 January 2003 06:30 pm, Larry McVoy wrote:
> > In very semplicistic words:
> > In 2.5/2.6 kernels, non GPL modules have a big
> > penalty, because they cannot create their own queue, but have to use a
> > default one.
>
> I may be showing my ignorance here (won't be the first time) but this makes
> me wonder if Linux could provide a way to do "user level drivers". I.e.,
> drivers which ran in kernel mode but in the context of a process and had
> to talk to the real kernel via pipes or whatever. It's a fair amount of
> plumbing but could have the advantage of being a more stable interface
> for the drivers.
>
> If you think about it, drivers are more or less
> open/close/read/write/ioctl. They need kernel privileges to do their thing
> but don't need (and shouldn't have) access to all the guts of the kernel.
>
> Can any well traveled driver people see this working or is it nuts?
The big problem is overhead.
The last successful user mode driver I used was in the old RSX-11
systems - all drivers were user mode.
The other place user mode drivers are used is in microkernel structures.
The problem is context switching time. If the hardware isn't designed to
support 10-20 simultaneous contexts, you must save/restore register sets
on each interrupt for the device.
If you split the driver into a kernel interface driver (the
open/close/read/write/ioctl style) then you have a VERY limited time
for doing certain types of processing - consider the time delays that
would get imposed on audio synthesis - each segment must be encoded
by the driver before being sent to the kernel interface driver. The
application then has to switch:
appuser mode ->kernel->user mode driver->kernel mode
interface->user mode driver->kernel->appuser mode
Before the application being able to resynchronize with the video.. which
would go through the same type of interface.
What Linux is using is more like a real time system. The tasklets/task queues
are more like a full featured RT system with priority queues. This allows a
fair amount of processing to be done by the driver without requiring heavy
handed context switching loads. What it appears to lack for a RT system is
a guaranteed interrupt latency.
In a microkernel envionment (where it can work) there need to be enough
resources available to minimize the context switching - The Cray T3 used
basic Alpha processors (a LOT of them). The UNICOS kernel on top of the
microkernel distributed the load by puting only one or two drivers per
processor.
These drivers appear (I didn't get to see the source) to perform full context
switches for each interrupt/read/write/open/close/ioctl. The key here is that
the processor really doesn't have to do anything else. Cache memory remains
hot, and nothing is delayed.
User applications run on totally different CPUs (out of 1048 processors, 40
of them might be OS processors, out of the 40 there might be 20 that are
filesystem/device drivers, the others handle user batch scheduling
scheduling, resource allocation and system calls. 8 to 10 additional ones
are used for "command" processors (not handling batch jobs) used for
complers, interactive access, and non-parallel utilties. The rest are
"application processors" and are dedicated to batch and/or parallel programs.
I have never really seen a generic processor that could run user mode
drivers very well - even the PDP-11s could not do that well for certain
devices, and they only had 8 registers to save/restore.
I would think that user mode drivers would need (ideally):
1. multiple user register sets in hardware - at least (5 to 10).
2. near zero context switching - calling for the MMU to support (5 to 10)
simultaneous contexts.
3. use one control register to switch between user register sets and MMU
contexts.
4. multiple cache memory modules ... 10 desirable, one per register set.
5. multiple processing levels (almost every processor has 2, Intel has 4)
The 5-10 register sets/MMU sets is based on:
1. disk driver
1. filesystem driver
1. video driver
1. keyboard driver
1. system call/user process
If more drivers are loaded/active then you would want more or you get into
scheduling collisions with context save/restore overhead. It would also
be desirable to have one for the system call/scheduler to eliminate that
overhead too, but IMHO that one can be shared with the user process.
Context switching time should be very nearly equivalent to a subroutine call
then - select the context, select the entry point, switch. Any parameter
passing could be almost the same as a subroutine parameter + a cache miss.
--
-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil
Any opinions expressed are solely my own.
^ permalink raw reply
* Re: Nvidia and its choice to read the GPL "differently"
From: Giacomo A. Catenazzi @ 2003-01-08 15:02 UTC (permalink / raw)
To: rms; +Cc: lm, acahalan, linux-kernel
In-Reply-To: <fa.hq6mucv.l4qg1c@ifi.uio.no>
Richard Stallman wrote:
> Great. So not only is there no legal need to cite GNU in the Linux
> name, there is no ethical obligation either.
>
> When you take part of my statement, stretch it, interpret it based on
> assumptions you know I disagree with, and present the result as
> something I said, that doesn't prove anything. It is childish.
>
> There is no ethical obligation to mention secondary contributions
> incorporated in a large project. There ethical obligation is to cite
> the main developer. In the GNU/Linux system, the GNU Project is the
> principal contributor; the system is more GNU than anything else,
> and we started it.
GNU is not so important in new system. I take gcc and glibc as to be
outside the GNU project. (they have now the GNU mark only for GNU
convenience, IMHO) I use "GNU/Linux" only to make more explicit the
"copyleft" ideas, but surelly not because of the GNU tools.
If you insist with such arguments, you risk that someone will rewrite
the basic GNU tools outside the GNU project (emacs is not an OS main tool,
gcc and glibc are de facto outside GNU) (bash will remain GNU ?)
ciao
giacomo
RMS: maybe you can reply me privatly about some more explication of your mail,
so less OT mail, and privately maybe I can understand more about GNU/Linux flames.
^ permalink raw reply
* Re: ipv6 stack seems to forget to send ACKs
From: Wichert Akkerman @ 2003-01-08 15:02 UTC (permalink / raw)
To: Maciej Soltysiak, netdev, linux-kernel
In-Reply-To: <20030108145211.GD22951@wiggy.net>
Previously Wichert Akkerman wrote:
> traceroute to ipv6.lkml.org (2001:968:1::2) from
> 3ffe:8280:10:1d0:290:27ff:fe2d:968c, 30 hops max, 16 byte packets
> 1 thunder.wiggy.net (3ffe:8280:10:1d0:250:4ff:fe0b:dd79) 0.666 ms 0.22 ms 0.199 ms
> 2 xs4all-29.ipv6.xs4all.nl (3ffe:8280:0:2001::58) 27.568 ms 28.012 ms 30.177 ms
> 3 26.ge-0-2-0.xr1.pbw.xs4all.net (2001:888:0:3::1) 22.035 ms 19.528 ms 44.644 ms
> 4 0.ge-0-3-0.xr1.sara.xs4all.net (2001:888:2:1::1) 19.519 ms 19.002 ms 21.974 ms
> 5 fe-0-0-0.ams-core-01.network6.isp-services.nl (2001:7f8:1::a502:4875:1) 19.978 ms 30.278 ms 20.248 ms
> 6 2001:968::2 (2001:968::2) 24.246 ms 24.083 ms 22.918 ms
> 7 2001:968:1::2 (2001:968:1::2) 24.978 ms 23.866 ms 23.661 ms
>
> thunder.wiggy.net is my Linux router running 2.4.19-pre5-ac3-freeswan196
> currently. The second hop is a normal sit tunnel and all the other
> hops are native ipv6 using Cisco and Juniper routers as far as I know.
Slight correction to that: xs4all-29.ipv6.xs4all.nl is a FreeBSD-4.5
tunnel server. The toher xs4all.net hops are Junipers running JunOS 5.3
or 5.5.
Wichert.
--
Wichert Akkerman <wichert@wiggy.net> http://www.wiggy.net/
A random hacker
^ permalink raw reply
* Re: [PATCH][TRIVIAL] menuconfig color sanity
From: Bill Davidsen @ 2003-01-08 15:02 UTC (permalink / raw)
To: jeff gerard; +Cc: linux-kernel
In-Reply-To: <20030108104714.GM268@gage.org>
On Wed, 8 Jan 2003, jeff gerard wrote:
> using yellow and green text with a "white" background in menuconfig works all
> right on console, but it looks like crap under xterm, rxvt, etc. no
> matter whose fault that is, the trivial patch below makes things more
> readable without any major change in appearance. applies to 2.4 and 2.5.
>
> now you can stop wondering about support for "lug and play", "mateur radio",
> and "elephony" in the linux kernel.
Man, did you look at this on a console? That is uglier than a hedgehog's
asshole! Good idea, poor implementation. Please retry, the default colors
are not as bad on an xterm as the new colors on a console. And with small
memory machines I sure don't build kernels using X!
--
bill davidsen <davidsen@tmr.com>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
^ permalink raw reply
* Re: long stalls
From: Juergen Sawinski @ 2003-01-08 15:17 UTC (permalink / raw)
To: linux-kernel@vger
In-Reply-To: <3E1B8439.8040209@elegant-software.com>
On Wed, 2003-01-08 at 02:51, Russell Leighton wrote:
>
> I can't help, but I can echo a "me too".
>
> We only see it when I have 2 file I/O intensive processes...they both
> will just stop for some few seconds, system seems idle...then
> they just start again. RH7.3 SMP, Dual PIII, 4GB RAM, 3com RAID Controller .
Same thing here with a Promise SX6000 RAID controller (P4, 1GB RAM,
system is completely on RAID, 2.4.20-pre10-ac1). But, this seems not to
be related. At least in my case, it's the controller that causes the
stalls, 'cause only processes depending on file IO (including swap) get
into D state. Everything else just runs fine.
George
--
Juergen "George" Sawinski | Phone: +49-6221-486-308
Max-Planck Institute for Medical Research | Fax: +49-6221-486-325
Dept. of Biomedical Optics | Mobile: +49-171-532 5302
Jahnstr. 29 |
D-69120 Heidelberg |
Germany |
GPG Key/Fingerprint: 9A5F7A31/86F2E5D5EDF4D9983BDD3F23986F154F9A5F7A31
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
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.