2003-03-26 23:58:37

by Marcelo Tosatti

[permalink] [raw]
Subject: Linux 2.4.21-pre6


Here goes -pre6.

We are approaching -rc stage. I plan to release -pre7 shortly which should
fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.



Summary of changes from v2.4.21-pre5 to v2.4.21-pre6
============================================

<[email protected]>:
o io_edgeport.c diff to fix endianess bugs

<[email protected]>:
o [SPARC64]: Fix ocndition code handling in do_rt_sigreturn

<[email protected]>:
o add ndelay() for ppc64

<[email protected]>:
o JFS: Code cleanup suggested by static analysis tool

<[email protected]>:
o [ATM]: Add MAINTAINERS entry

<[email protected]>:
o [ATM]: use sock timestamp
o [ATM]: Use skb_pull instead of direct skb mangling
o [ATM]: Get minimum frame size right in lec.c
o [ATM]: Let upper layer k now lec supports multicast
o [ATM SUNI]: suni_init should not be __init and remove mod inc/dec
o [ATM FORE200E]: Fix build

<[email protected]>:
o usb-midi.h: fixes for SC-8820/50
o usb-midi.h: fixes for SC-8820/50

<[email protected]>:
o Update SCSI whitelist in scsi_scan.c

<[email protected]>:
o PPC32: Make the bootloader start at 0x000c for SMP
o PPC32: Make it easier to hook into the bootloader code
o PPC32: Allow the bootloader to pass in a board descripter struct

<[email protected]>:
o [SCHED GRED]: Another bug found by Stanford Checker

<[email protected]>:
o [NETFILTER]: Fix icmp-type all problem in iptables

<[email protected]>:
o USB scanner.h, scanner.c: New vendor/product ids
o USB: New vendor/product ids for scanner driver

<[email protected]>:
o [SPARC64]: Fix typo in sparc64_get_context (G7 register is saved wrongly)

<[email protected]>:
o USB: add KB Gear USB Tablet Driver

<[email protected]>:
o Re: Keyspan USB/Serial Drivers for 2.4.20/2.4.21-pre4

<[email protected]>:
o [NETFILTER]: fix NAT ICMP reply translation of inner packet
o [NETFILTER]: Fix conntrack bug introduced by list_del change
o [NETFILTER]: Fix typo in ftp conntrack helper
o [NETFILTER]: Add new ip6tables matches

<[email protected]>:
o fix eepro100 SMP deadlock (uninitialized spinlock)

<[email protected]>:
o [IPV4/IPV6]: Fix to avoid overriding TCP/UDP with a new protocol of same type

<[email protected]>:
o Fix race on rpc code

Adam Radford <[email protected]>:
o 3ware driver update for 2.4.21-pre6

Adrian Bunk <[email protected]>:
o USB: fix Auerswald compile

Alan Cox <[email protected]>:
o New PCI identifiers for ALi 156x ethernet
o fix a ; in cris eeprom
o correct handling of VIA PCI and of IDE legacy irq
o add another transparent bridghe
o export ndelay for modular ide stuff
o Enable XMM on more athlons
o fix ndelay argument name
o more usercopy documentation
o fix wacked formatting in x86-64 code
o enable newly added docs
o ide doc update
o update hp framebuffer docs
o update ipmi doc
o Add missing EXPORT_SYMBOL for acpi & ipmi
o epca sign fix
o add genrtc driver used by multiple ports
o ipmp updates
o build genrtc if asked for
o sign fix in mwave
o & v && fix for i2c
o nforce is now in AMD so delete the option
o new AMD/Nvidia driver
o remove dead Nvidia driver
o bogo semicolon fix in joydev
o fix hysdn brackets
o fix some radio typos/oddments
o more radio oddments
o cpia update
o fix w9966 tuner bug
o mptfusion sign handling
o missing Makefile slot
o incorrect bracketing
o e100 updates
o fix ethernet pad in example driver
o fix non x86 8169 build
o another rogue semicolon
o bracketing fix
o ips docs update
o cpqfc fix for non x86
o dpt_i2o sign fix
o fix ide-scsi hang on SMP boxes
o ; fixes
o ips update
o wrong bracketing
o XpressAudio enabler for Cyrix 5520
o maestro bracketing bug
o values cannot be init
o fix large I/O to nec audio
o bracketing fix in sscape
o ali5451 is 31bit audio
o via8233/8235 audio update
o & v && in acm usb
o usb hang fix
o atafb bug in #if 0 code
o fix logic error in aty128fb
o typo fix in video headers
o logic error in radeonfb
o fix sisfb build on non x86
o add intelfb driver
o fix incorrect bracketing in JFFS
o fix nfs port option on bigendian
o fix seq_file problems
o missing defines for alpha
o faster x86 byteorder code
o make __ndelay() argument name sane
o generic rtc support headers for parisc
o Fix typo in REPORTING-BUGS

Alan Cox <[email protected]>:
o Fix kmod/ptrace vulnerability

Alan Stern <[email protected]>:
o USB: Patch for auto-sense cmd_len

Andi Kleen <[email protected]>:
o [NET]: Make skbuff.h -W clean, skb_headlen should return unsigned quantity
o x86-64 update

Ben Collins <[email protected]>:
o [IEEE1394] Sync with repo

Benjamin LaHaise <[email protected]>:
o [NET]: Make sure nr_frags is accurate on paged SKB allocation failure

Christoph Hellwig <[email protected]>:
o [NET]: Remove __NO_VERSION__ from networking code
o backport sys_sendfile64

Christoph Hellwig <[email protected]>:
o [SPARC]: Add xattr syscalls

Dave Jones <[email protected]>:
o Enable prefetch on P4
o add missing intel cache descriptor

Dave Kleikamp <[email protected]>:
o JFS: Fix hang while flushing outstanding transactions under heavy load
o JFS: Avoid deadlock when all tblocks are allocated

David Brownell <[email protected]>:
o USB: rename drivers/usb/hcd --> host
o USB: call hcd->stop() in task context
o ehci, sync with 2.5 latest

David S. Miller <[email protected]>:
o [SPARC64]: Add TCSBRKP ioctl translation, thanks Anton
o [TCP]: Do not bump backoff too high during 0-window probes
o [NET]: Fix length in skb_padlen
o [RANDOM]: Backport 2.5.x ipv4/ipv6 sequence number generation SMP fixes by [email protected]
o [SPARC64]: Implement STICK synchronization using ia64 port algorithms
o [NET]: Export skb_pad to modules
o [SPARC64]: Update defconfig
o [NETLINK]: Remove buggy and useless rcv queue wakeup tests
o [IPV6]: Cure typo in ipv6_addr_prefix
o [IPV{4,6}]: Make icmp_socket per-cpu and simplify locking
o [NETFILTER]: Fix typo in ipv6 makefile changes
o [NET]: Fix mismerge, no need to export skb_pad twice
o [SPARC64]: Make sure we are in irq_enter atomic section during update_process_times
o [SPARC64]: Kill SPARC64_USE_STICK and use real timer drivers
o [SPARC64]: Fix timer quotient calcs
o [SPARC64]: Do not mark timer_ticks_per_usec_quotient static
o [SPARC64]: Make gettimeofday assembly match tick quotient fixes
o [SPARC64]: Add Hummingbird STICK support
o [SPARC64]: Make TICK comparisons wrap-around safe by using jiffies macros
o [SPARC64]: Sanitize all TICK privileged bit handling in tick drivers
o [SPARC64]: Clear tick_cmpr ints properly in bootup assembly
o [SPARC64]: Kill bogus kernel_thread decl

Ganesh Varadarajan <[email protected]>:
o USB ipaq.c: add ids for fujitsu loox

Geert Uytterhoeven <[email protected]>:
o Amiga PCMCIA Ethernet clean up
o M68k ISA memory for Amiga PCMCIA
o M68k Apollo I/O updates
o M68k ifpsp060 updates
o M68k incorrect prototype
o Amiga RTC updates
o Amifb wrong interrupt
o Atari NCR5380 SCSI: bitops operate on long
o Convert m68k cache macros to inline functions
o Mac/m68k VIA updates
o Allow to disable macfb
o M68k net warnings
o M68k heartbeat update
o M68k config syntax
o Sun-3 contact update
o M68k SCSI warnings
o M68k PAGE_SIZE warnings
o M68k: optimize stacked irq check
o Sun-3 memory zones
o Sun-3 ioremap()
o M68k page_to_phys
o Sun-3 first page
o M68k iomap cleanup
o Sun-3 SBUS updates
o Sun-3 vectored interrupts
o M68k timekeeping update
o Amiga Zorro SCSI: use z_ioremap()
o Sun-3/3x updates
o M68k core spelling fixes
o Amiflop out-of-bounds array access
o Sun-3 VME support
o M68k warnings

Go Taniguchi <[email protected]>:
o USB: Another pegasus ID
o USB: Another kaweth ID
o USB: Another sony memorystick
o USB: Multiple interfaces with usb hotplug
o USB: Another hid-core worksround

Greg Kroah-Hartman <[email protected]>:
o USB: added support for radio shack device to pl2303 driver
o USB: add firmware files for two new keyspan devices
o USB: merge fixup for the scanner driver
o USB: move the UHCI drivers into drivers/usb/host
o USB: move the OHCI driver into drivers/usb/host

Hideaki Yoshifuji <[email protected]>:
o [IPV6]: Export ip6_route_me_harder for netfilter and add ipv6_addr_prefix

James Morris <[email protected]>:
o [NET]: Clean up sk_filter and make sure it is called when skb->dev is still valid
o [IPV4]: Fix skb leak in inet_rtm_getroute
o [IPV6]: Fix skb leak in inet6_rtm_getroute
o [NET]: Add myself as co-maintainer
o [NETLINK]: Un-duplicate rcv wakeup logic

Jay Vosburgh <[email protected]>:
o [BONDING]: Add MAINTAINERS entry

Jeff Garzik <[email protected]>:
o Via Nehemiah (C3-2) CPU support

John Levon <[email protected]>:
o [SUNHME]: Fix bit testing typo

Leigh Brown <[email protected]>:
o Updated S3Triofb driver for PPC32

Lennert Buytenhek <[email protected]>:
o [BRIDGE]: handle out-of-ports corner case

Marcel Holtmann <[email protected]>:
o [SPARC64]: Translate AUTOFS_IOC_EXPIRE_MULTI ioctl

Marcelo Tosatti <[email protected]>:
o Changed EXTRAVERSION to -pre6

Mark A. Greer <[email protected]>:
o PPC32: Fix a problem with 'next' and 'step' type KGDB commands

Neil Brown <[email protected]>:
o md - 1 of 3 - Fix small bug in md.c
o md - 3 of 3 - Don't check a device size before bd_get in
o md - 2 of 3 - Convert /proc/mdstat to use seq_file
o drivers/block/umem.c - new card
o Fix compile errors/warnings in md

Oleg Drokin <[email protected]>:
o reiserfs: Make balloc[] tails[] and hash[] in super.c static. (Noticed by Arnd Bergmann <[email protected]>)
o reiserfs: gcc 3.3 compile fix from Hubert Mantel <[email protected]>
o reiserfs: Fix a warning about mismatching types while doing printk
o reiserfs: Stricter checks for transactions and fs itself during mount

Oleg Drokin <[email protected]>:
o Reiserfs journal overflow fix on large highly fragmented fs

Oliver Neukum <[email protected]>:
o USB: work around for a firmware bug of some scanners

Patrick McHardy <[email protected]>:
o [IPV{4,6}]: lru queue for ip_fragment evictor

Paul Mackerras <[email protected]>:
o PPC32: Implement kmap_nonblock, add extra argument to kmap_high call
o PPC32: Add missing break, without which get_user on 8-byte quantities would fail

Pete Zaitcev <[email protected]>:
o [SPARC]: Add missing newline to kernel OOPS printk
o [SPARC32/64]: Expand ioctl size field in backwards-compatible way
o [SPARC]: RTC driver needs to include linux/pci.h
o Fix initrd initialization

Petr Vandrovec <[email protected]>:
o Fix matroxfb build
o Support for matroxfb on HP Vectra

Rob Radez <[email protected]>:
o [SPARC]: kmap_nonblock changes

Rusty Russell <[email protected]>:
o [AF_UNIX] Cleanup forall_unix_sockets
o [X25]: Fix improper | precendence, pointed out by Joern Engel
o [ECONET]: Add comment to point out a bug spotted by Joern Engel

Theodore Ts'o <[email protected]>:
o Ext2/3: noatime ignored for newly created inodes

Tom Rini <[email protected]>:
o PPC32: Export m8xx_cpm_hostalloc on CONFIG_8xx
o PPC32: Replace 2 inline functions with their normal macro equivalents
o PPC32: Fix a problem on MPC8xx when CONFIG_USE_MDIO=n
o PPC32: Backport the code from 2.5 to make do_div handle 64bit
o PPC32: KGDB is more useful when -g is in the CFLAGS
o PPC32: Fix some warnings in the MPC8xx FPU emulation code
o PPC32: Fix some warnings on MPC8xx
o PPC32: Change some bootloaders to call load_kernel directly
o PPC32: Add USE_STANDARD_AS_RULE to boot/lib/Makefile
o PPC32: Fix some warnings on MPC8xx
o PPC32: Clarify some of the MPC8xx uart code

Trond Myklebust <[email protected]>:
o Fix misleading EIO on NFS client
o Fix unbalanced kunmap() in NFS symlink code


2003-03-27 01:41:57

by Johannes Erdfelt

[permalink] [raw]
Subject: Re: [BK] Bluetooth updates for 2.4.21-pre6

On Wed, Mar 26, 2003, Max Krasnyansky <[email protected]> wrote:
> <[email protected]> (03/03/19 1.1106)
> [Bluetooth]
> Do not submit more than one usb bulk rx request. It crashes uhci.o driver.

I don't recall seeing an email about this.

uhci.o should handle this situation correctly.

JE

2003-03-27 01:39:38

by Max Krasnyansky

[permalink] [raw]
Subject: [BK] Bluetooth updates for 2.4.21-pre6

Hi Marcelo,

Could you pull a few Bluetooth updates from
bk://linux-bt.bkbits.net/bt-2.4

This will update the following files:

Documentation/Configure.help | 13
drivers/bluetooth/Config.in | 1
drivers/bluetooth/hci_usb.c | 748 +++++++++++++++++++++++----------------
drivers/bluetooth/hci_usb.h | 105 ++++-
include/net/bluetooth/hci.h | 98 ++---
include/net/bluetooth/hci_core.h | 24 -
net/bluetooth/hci_conn.c | 1
net/bluetooth/hci_core.c | 84 ++--
net/bluetooth/hci_sock.c | 104 ++---
net/bluetooth/syms.c | 4
10 files changed, 712 insertions(+), 470 deletions(-)

through these ChangeSets:

<[email protected]> (03/03/24 1.1110)
[Bluetooth] Use atomic allocations in HCI USB functions called under spinlock.

<[email protected]> (03/03/21 1.1109)
[Bluetooth] Add help entry for CONFIG_BLUEZ_USB_SCO

This patch adds the missing help entry for CONFIG_BLUEZ_USB_SCO.

<[email protected]> (03/03/21 1.1108)
[Bluetooth] Use R1 for default value of pscan_rep_mode

Most devices seem to use R1 for pscan_rep_mode to save power
consumption, so R1 is preferable for default value, if there
is no entry in the inquiry cache. Using R1 will improve the
average of connect time in many cases.

<[email protected]> (03/03/20 1.1107)
[Bluetooth] Add support for the Ultraport Module from IBM

This patch adds the specific vendor and product id's for the
Bluetooth Ultraport Module from IBM. This is needed, because
the device itself don't uses the USB Bluetooth class id.

<[email protected]> (03/03/19 1.1106)
[Bluetooth]
Do not submit more than one usb bulk rx request. It crashes uhci.o driver.

<[email protected]> (03/03/19 1.1105)
[Bluetooth]
Support for SCO (voice) over HCI USB

<[email protected]> (03/03/19 1.1053.2.2)
[Bluetooth]
Kill incoming SCO connection when SCO socket is closed.

<[email protected]> (03/03/05 1.953.2.3)
[Bluetooth]
Use very short disconnect timeout for SCO connections.
They cannot be reused and therefor there is no need to
keep them around.

--

Thanks
Max

2003-03-27 07:43:08

by Roger Luethi

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Wed, 26 Mar 2003 21:08:42 -0300, Marcelo Tosatti wrote:
> We are approaching -rc stage. I plan to release -pre7 shortly which should
> fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.

via-rhine is still at 1.16 -- broken for the most common Rhine model. I
thought 1.17 was supposed to go into 2.4.21?

Roger

2003-03-27 08:37:36

by Christoph Hellwig

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Wed, Mar 26, 2003 at 09:08:42PM -0300, Marcelo Tosatti wrote:
>
> Here goes -pre6.
>
> We are approaching -rc stage. I plan to release -pre7 shortly which should
> fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.


*grrr* once again this is not tagged in BK. Could you _please_ ask Linus
for his nice update release, tag and publish script?


2003-03-27 09:28:23

by Meelis Roos

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

MT> Here goes -pre6.
MT>
MT> We are approaching -rc stage. I plan to release -pre7 shortly which should
MT> fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.

HDLC started generating warnings in some -pre and they are still there:

/oma/compile/linux-2.4/include/linux/modules/hdlc.ver:3: warning: `__ver_register_hdlc_device' redefined
/oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:3: warning: this is the location of the previous definition
/oma/compile/linux-2.4/include/linux/modules/hdlc.ver:5: warning: `__ver_unregister_hdlc_device' redefined
/oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:5: warning: this is the location of the previous definition

--
Meelis Roos ([email protected])

2003-03-27 09:59:21

by mdew

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Thu, 2003-03-27 at 20:48, Christoph Hellwig wrote:
> On Wed, Mar 26, 2003 at 09:08:42PM -0300, Marcelo Tosatti wrote:
> >
> > Here goes -pre6.
> >
> > We are approaching -rc stage. I plan to release -pre7 shortly which should
> > fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.
>
>
> *grrr* once again this is not tagged in BK. Could you _please_ ask Linus
> for his nice update release, tag and publish script?

at one stage it was tagged, just disappeared :)

--
mdew <[email protected]>

2003-03-27 10:31:41

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Wed, 26 Mar 2003, Marcelo Tosatti wrote:
> Here goes -pre6.
>
> We are approaching -rc stage. I plan to release -pre7 shortly which should
> fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.

Is IDE in 2.4.x and 2.5.x now more or less in sync?

I have some m68k (at least for Amiga builtin) IDE updates for 2.5.x, but am
still waiting for the other m68k platforms to send them in. But if 2.4.21 is
approaching very soon, I better hurry up backporting them to 2.4.x...

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2003-03-27 10:50:08

by Bas Vermeulen

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Thu, 27 Mar 2003, Meelis Roos wrote:

> MT> Here goes -pre6.
> MT>
> MT> We are approaching -rc stage. I plan to release -pre7 shortly which should
> MT> fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.
>
> HDLC started generating warnings in some -pre and they are still there:
>
> /oma/compile/linux-2.4/include/linux/modules/hdlc.ver:3: warning: `__ver_register_hdlc_device' redefined
> /oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:3: warning: this is the location of the previous definition
> /oma/compile/linux-2.4/include/linux/modules/hdlc.ver:5: warning: `__ver_unregister_hdlc_device' redefined
> /oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:5: warning: this is the location of the previous definition

Try copying .config away, make mrproper, then the normal routine.
That should fix things for you.

Regards,

Bas Vermeulen

--
"God, root, what is difference?"
-- Pitr, User Friendly

"God is more forgiving."
-- Dave Aronson

2003-03-27 11:43:46

by Alan

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Thu, 2003-03-27 at 10:42, Geert Uytterhoeven wrote:
> On Wed, 26 Mar 2003, Marcelo Tosatti wrote:
> > Here goes -pre6.
> >
> > We are approaching -rc stage. I plan to release -pre7 shortly which should
> > fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.
>
> Is IDE in 2.4.x and 2.5.x now more or less in sync?

At the driver level yes, some of the upper core stuff is very different because
2.5 is rather different.

Alan

2003-03-27 11:50:45

by Jan Knutar

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6


> Is IDE in 2.4.x and 2.5.x now more or less in sync?

Hm, can we ever expect to get cd burning in 2.4.x on ide without
locking up the other device on the channel?

2003-03-27 12:39:41

by Jens Axboe

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Thu, Mar 27 2003, Jan Knutar wrote:
>
> > Is IDE in 2.4.x and 2.5.x now more or less in sync?
>
> Hm, can we ever expect to get cd burning in 2.4.x on ide without
> locking up the other device on the channel?

During execution of a single command, channel _will_ be locked. This is
not solvable in the driver, it's how ide works. During fixation, for
instance, the channel will be locked...

Now, if you are locked during the _entire_ burn, that points to an ide
scheduling.

--
Jens Axboe

2003-03-27 13:37:33

by Jeff Garzik

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

Roger Luethi wrote:
> On Wed, 26 Mar 2003 21:08:42 -0300, Marcelo Tosatti wrote:
>
>>We are approaching -rc stage. I plan to release -pre7 shortly which should
>>fixup the remaining IDE problems (thanks Alan!) and -rc1 later on.
>
>
> via-rhine is still at 1.16 -- broken for the most common Rhine model. I
> thought 1.17 was supposed to go into 2.4.21?


I need to revert pcnet32 to back to 2.4.19 level, and then my batch is
ready for Marcelo -- which includes your via-rhine fixes.

Jeff



2003-03-27 14:02:59

by DervishD

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

Hi Jan :)

Jan Knutar dixit:
> > Is IDE in 2.4.x and 2.5.x now more or less in sync?
> Hm, can we ever expect to get cd burning in 2.4.x on ide without
> locking up the other device on the channel?

I have a VIA motherboard (686b) and I can read a CD while I burn
another in the cdwriter, both in the same IDE channel :?? Certainly
the burning speeds goes down to 10x or less instead of the usual 12x.

My kernel is 2.4.18, BTW.

Ra?l N??ez de Arenas Coronado

--
Linux Registered User 88736
http://www.pleyades.net & http://www.pleyades.net/~raulnac

2003-03-27 14:01:08

by Jörn Engel

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Thu, 27 March 2003 11:45:18 +0100, Bas Vermeulen wrote:
> On Thu, 27 Mar 2003, Meelis Roos wrote:
> >
> > HDLC started generating warnings in some -pre and they are still there:
> >
> > /oma/compile/linux-2.4/include/linux/modules/hdlc.ver:3: warning: `__ver_register_hdlc_device' redefined
> > /oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:3: warning: this is the location of the previous definition
> > /oma/compile/linux-2.4/include/linux/modules/hdlc.ver:5: warning: `__ver_unregister_hdlc_device' redefined
> > /oma/compile/linux-2.4/include/linux/modules/hdlc_generic.ver:5: warning: this is the location of the previous definition
>
> Try copying .config away, make mrproper, then the normal routine.
> That should fix things for you.

Well, if more that make dep is needed, doesn't this point to a bug in
Config.in and/or Makefile? ;)

I agree, those have less impact, but they should get fixed as well.

J?rn

--
Courage is not the absence of fear, but rather the judgement that
something else is more important than fear.
-- Ambrose Redmoon

2003-03-27 16:14:57

by Stephan von Krawczynski

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Wed, 26 Mar 2003 21:08:42 -0300 (BRT)
Marcelo Tosatti <[email protected]> wrote:

>
> Here goes -pre6.
> [...]
> o fix ide-scsi hang on SMP boxes

Sorry, no bonus.
Whatever this patch was, it did not work on my box (SMP, ide-scsi). The only
patch that I know of solving complete freeze is attached, diffed to -pre6.

Regards,
Stephan


--- linux1/drivers/scsi/ide-scsi.c 2003-03-27 15:45:55.000000000 +0100
+++ linux2/drivers/scsi/ide-scsi.c 2003-03-27 15:46:49.000000000 +0100
@@ -321,7 +321,7 @@
{
idescsi_scsi_t *scsi = drive->driver_data;
struct request *rq = HWGROUP(drive)->rq;
- idescsi_pc_t *pc = (idescsi_pc_t *) rq->buffer;
+ idescsi_pc_t *pc = rq->special;
int log = test_bit(IDESCSI_LOG_CMD, &scsi->log);
u8 *scsi_buf;
unsigned long flags;
@@ -587,7 +587,7 @@
#endif /* IDESCSI_DEBUG_LOG */

if (rq->cmd == IDESCSI_PC_RQ) {
- return idescsi_issue_pc(drive, (idescsi_pc_t *) rq->buffer);
+ return idescsi_issue_pc (drive, rq->special);
}
printk(KERN_ERR "ide-scsi: %s: unsupported command in request "
"queue (%x)\n", drive->name, rq->cmd);
@@ -1083,7 +1083,7 @@
}

ide_init_drive_cmd(rq);
- rq->buffer = (char *) pc;
+ rq->special = pc;
rq->bh = idescsi_dma_bh(drive, pc);
rq->cmd = IDESCSI_PC_RQ;
spin_unlock_irq(&io_request_lock);

2003-03-27 16:40:04

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] d_alloc_anon for 2.4.21-pre6

[$BIGNUM repost since August 2002, still zero feedback]

The rewritten 2.5 nfsd export handling introduce a funcion,
d_alloc_anon, to get an dentry for a given inode, either taking
a well-connected one or allocating a new one.

In 2.4 we have the functionality that it does in 2.4 duplicated over
nfsd and all filesystems having their own fh_to_dentry method, and
XFS needs even more instances of this for other handle to dentry
conversations.

This patch adds d_alloc_anon with exactly the same API as in 2.5, but
the 2.4ish functionality instead to the kernel and switches nfsd, fat
and reiserfs over to it.


--- 1.22/fs/dcache.c Thu Jan 23 10:55:22 2003
+++ edited/fs/dcache.c Thu Mar 27 10:22:35 2003
@@ -659,6 +659,53 @@
}

/**
+ * d_alloc_anon - allocate an anonymous dentry
+ * @inode: inode to allocate the dentry for
+ *
+ * This is similar to d_alloc_root. It is used by filesystems when
+ * creating a dentry for a given inode, often in the process of
+ * mapping a filehandle to a dentry. The returned dentry may be
+ * anonymous, or may have a full name (if the inode was already
+ * in the cache). The file system may need to make further
+ * efforts to connect this dentry into the dcache properly.
+ *
+ * When called on a directory inode, we must ensure that
+ * the inode only ever has one dentry. If a dentry is
+ * found, that is returned instead of allocating a new one.
+ *
+ * On successful return, the reference to the inode has been transferred
+ * to the dentry. If %NULL is returned (indicating kmalloc failure),
+ * the reference on the inode has not been released.
+ */
+
+struct dentry * d_alloc_anon(struct inode *inode)
+{
+ struct dentry *dentry;
+ struct list_head *p;
+
+ /* Try to find a dentry. If possible, get a well-connected one. */
+ spin_lock(&dcache_lock);
+ list_for_each(p, &inode->i_dentry) {
+ dentry = list_entry(p, struct dentry, d_alias);
+ if (!(dentry->d_flags & DCACHE_NFSD_DISCONNECTED))
+ goto found;
+ }
+ spin_unlock(&dcache_lock);
+
+ /* Didn't find dentry. Create anonymous dcache entry. */
+ dentry = d_alloc_root(inode);
+ if (dentry)
+ dentry->d_flags |= DCACHE_NFSD_DISCONNECTED;
+ return dentry;
+
+found:
+ dget_locked(dentry);
+ spin_unlock(&dcache_lock);
+ iput(inode);
+ return dentry;
+}
+
+/**
* d_alloc_root - allocate root dentry
* @root_inode: inode to allocate the root for
*
===== fs/fat/inode.c 1.13 vs edited =====
--- 1.13/fs/fat/inode.c Thu Apr 4 21:31:14 2002
+++ edited/fs/fat/inode.c Thu Mar 27 10:22:35 2003
@@ -430,7 +430,6 @@
int len, int fhtype, int parent)
{
struct inode *inode = NULL;
- struct list_head *lp;
struct dentry *result;

if (fhtype != 3)
@@ -477,33 +476,14 @@
if (!inode)
return ERR_PTR(-ESTALE);

-
- /* now to find a dentry.
- * If possible, get a well-connected one
- *
- * Given the way that we found the inode, it *MUST* be
- * well-connected, but it is easiest to just copy the
- * code.
- */
- spin_lock(&dcache_lock);
- for (lp = inode->i_dentry.next; lp != &inode->i_dentry ; lp=lp->next) {
- result = list_entry(lp,struct dentry, d_alias);
- if (! (result->d_flags & DCACHE_NFSD_DISCONNECTED)) {
- dget_locked(result);
- result->d_vfs_flags |= DCACHE_REFERENCED;
- spin_unlock(&dcache_lock);
- iput(inode);
- return result;
- }
- }
- spin_unlock(&dcache_lock);
- result = d_alloc_root(inode);
+
+ result = d_alloc_anon(inode);
if (result == NULL) {
iput(inode);
return ERR_PTR(-ENOMEM);
}
result->d_op = sb->s_root->d_op;
- result->d_flags |= DCACHE_NFSD_DISCONNECTED;
+ result->d_vfs_flags |= DCACHE_REFERENCED;
return result;


===== fs/nfsd/nfsfh.c 1.18 vs edited =====
--- 1.18/fs/nfsd/nfsfh.c Mon Dec 16 17:50:09 2002
+++ edited/fs/nfsd/nfsfh.c Thu Mar 27 10:22:35 2003
@@ -135,7 +135,6 @@
* of 0 means "accept any"
*/
struct inode *inode;
- struct list_head *lp;
struct dentry *result;
if (ino == 0)
return ERR_PTR(-ESTALE);
@@ -155,27 +154,14 @@
iput(inode);
return ERR_PTR(-ESTALE);
}
- /* now to find a dentry.
- * If possible, get a well-connected one
- */
- spin_lock(&dcache_lock);
- for (lp = inode->i_dentry.next; lp != &inode->i_dentry ; lp=lp->next) {
- result = list_entry(lp,struct dentry, d_alias);
- if (! (result->d_flags & DCACHE_NFSD_DISCONNECTED)) {
- dget_locked(result);
- result->d_vfs_flags |= DCACHE_REFERENCED;
- spin_unlock(&dcache_lock);
- iput(inode);
- return result;
- }
- }
- spin_unlock(&dcache_lock);
- result = d_alloc_root(inode);
+
+
+ result = d_alloc_anon(inode);
if (result == NULL) {
iput(inode);
return ERR_PTR(-ENOMEM);
}
- result->d_flags |= DCACHE_NFSD_DISCONNECTED;
+ result->d_vfs_flags |= DCACHE_REFERENCED;
return result;
}

===== fs/reiserfs/inode.c 1.42 vs edited =====
--- 1.42/fs/reiserfs/inode.c Thu Feb 13 07:42:42 2003
+++ edited/fs/reiserfs/inode.c Thu Mar 27 10:22:35 2003
@@ -1249,7 +1249,6 @@
int len, int fhtype, int parent) {
struct cpu_key key ;
struct inode *inode = NULL ;
- struct list_head *lp;
struct dentry *result;

/* fhtype happens to reflect the number of u32s encoded.
@@ -1301,27 +1300,12 @@
if (!inode)
return ERR_PTR(-ESTALE) ;

- /* now to find a dentry.
- * If possible, get a well-connected one
- */
- spin_lock(&dcache_lock);
- for (lp = inode->i_dentry.next; lp != &inode->i_dentry ; lp=lp->next) {
- result = list_entry(lp,struct dentry, d_alias);
- if (! (result->d_flags & DCACHE_NFSD_DISCONNECTED)) {
- dget_locked(result);
- result->d_vfs_flags |= DCACHE_REFERENCED;
- spin_unlock(&dcache_lock);
- iput(inode);
- return result;
- }
- }
- spin_unlock(&dcache_lock);
- result = d_alloc_root(inode);
+ result = d_alloc_anon(inode);
if (result == NULL) {
iput(inode);
return ERR_PTR(-ENOMEM);
}
- result->d_flags |= DCACHE_NFSD_DISCONNECTED;
+ result->d_vfs_flags |= DCACHE_REFERENCED;
return result;

}
===== include/linux/dcache.h 1.12 vs edited =====
--- 1.12/include/linux/dcache.h Sat Aug 3 18:39:21 2002
+++ edited/include/linux/dcache.h Thu Mar 27 15:42:26 2003
@@ -165,6 +165,7 @@

/* allocate/de-allocate */
extern struct dentry * d_alloc(struct dentry *, const struct qstr *);
+extern struct dentry * d_alloc_anon(struct inode *);
extern void shrink_dcache_sb(struct super_block *);
extern void shrink_dcache_parent(struct dentry *);
extern int d_invalidate(struct dentry *);
===== kernel/ksyms.c 1.67 vs edited =====
--- 1.67/kernel/ksyms.c Tue Oct 1 14:34:41 2002
+++ edited/kernel/ksyms.c Thu Mar 27 10:22:36 2003
@@ -164,6 +164,7 @@
EXPORT_SYMBOL(d_move);
EXPORT_SYMBOL(d_instantiate);
EXPORT_SYMBOL(d_alloc);
+EXPORT_SYMBOL(d_alloc_anon);
EXPORT_SYMBOL(d_lookup);
EXPORT_SYMBOL(__d_path);
EXPORT_SYMBOL(mark_buffer_dirty);

2003-03-27 17:23:09

by Max Krasnyansky

[permalink] [raw]
Subject: Re: [BK] Bluetooth updates for 2.4.21-pre6

At 05:53 PM 3/26/2003, Johannes Erdfelt wrote:
>On Wed, Mar 26, 2003, Max Krasnyansky <[email protected]> wrote:
>> <[email protected]> (03/03/19 1.1106)
>> [Bluetooth]
>> Do not submit more than one usb bulk rx request. It crashes uhci.o driver.
>
>I don't recall seeing an email about this.
>uhci.o should handle this situation correctly.
Sorry. My bad. I meant usb-uhci.

usb-uhci does crash in unlink_qh() when one of the multiple bulk rx urbs
is unlinked. I didn't have time to investigate and therefor did not submit
bug report.

Max

2003-03-27 19:08:57

by Linus Torvalds

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6


On Thu, 27 Mar 2003, Christoph Hellwig wrote:
>
> *grrr* once again this is not tagged in BK. Could you _please_ ask Linus
> for his nice update release, tag and publish script?

Hey, I'm a retard. I don't actually do the tagging with a script, since I
usually want to create the tree privately first, and run a final compile
cycle on it. So I tag it by hand, and then I have a script that outputs
a list of commands that I just cut-and-paste directly. It's ugly, but it
works (and it means that running the script doesn't _do_ anything: I have
to actually take one last look at what I'm going to do before I start it
all up).

The "release script" is this piece of crap:

#!/bin/sh
echo "bk export -w ../linux-$2"
echo "bk export -h -tpatch -rv$1.. > ../patch-$2"
echo "export PATH=\$PATH:/home/torvalds/BK/tools"
echo "changelog v$1 v$2 > ../ChangeLog-$2"
echo "shortlog --width=72 < ../ChangeLog-$2 > ../ChangeLog"
echo "cd .."
echo "tar cf linux-$2.tar linux-$2"
echo "gzip -9 patch-$2"
echo "gzip -9 linux-$2.tar"
echo "touch LATEST-IS-$2"

and that's it. I'd just do "../release-script 2.5.66 2.5.67" from my
kernel directory when I want to generate a 2.5.67 release.

Ok, I'm embarrassed to even admit to doing this. Don't rub it in. It's
useful to me because sometimes I don't do a full release - I just want to
pre-generate a change-log of the diff, for example, to judge whether I
forgot about something.

Linus "retard" Torvalds

2003-03-27 20:30:33

by Adrian Bunk

[permalink] [raw]
Subject: [2.4 patch] fix multiple definitions of ipv6_ext_hdr

On Wed, Mar 26, 2003 at 09:08:42PM -0300, Marcelo Tosatti wrote:
>...
> Summary of changes from v2.4.21-pre5 to v2.4.21-pre6
> ============================================
>...
> <[email protected]>:
>...
> o [NETFILTER]: Add new ip6tables matches
>...


#include <deja-vu.h>


<-- snip -->

...
ld -m elf_i386 -r -o netfilter.o ip6_tables.o ip6t_limit.o ip6t_mark.o
ip6t_length.o ip6t_mac.o ip6t_rt.o ip6t_hbh.o ip6t_dst.o ip6t_ipv6header.o
ip6t_frag.o ip6t_esp.o ip6t_ah.o ip6t_eui64.o ip6t_multiport.o ip6t_owner.o
ip6table_filter.o ip6table_mangle.o ip6t_MARK.o ip6_queue.o ip6t_LOG.o
ip6t_hbh.o(.text+0x0): In function `ipv6_ext_hdr':
: multiple definition of `ipv6_ext_hdr'
ip6t_rt.o(.text+0x0): first defined here
...
make[3]: *** [netfilter.o] Error 1
make[3]: Leaving directory `/home/bunk/linux/kernel-2.4/linux-2.4.21-pre6-full-nohotplug/net/ipv6/netfilter'

<-- snip -->

My fix for this issue that went into 2.5.66 is below (it applies
and compiles against 2.4.21-pre6, too).

Please apply
Adrian



--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_ah.c.old 2003-03-05 23:30:00.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_ah.c 2003-03-05 23:30:43.000000000 +0100
@@ -26,17 +26,6 @@
__u32 spi;
};

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/* Returns 1 if the spi is matched by the range, 0 otherwise */
static inline int
spi_match(u_int32_t min, u_int32_t max, u_int32_t spi, int invert)
@@ -79,7 +68,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;

DEBUGP("ipv6_ah header iteration \n");
--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_dst.c.old 2003-03-05 23:30:44.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_dst.c 2003-03-05 23:31:01.000000000 +0100
@@ -29,17 +29,6 @@
#define DEBUGP(format, args...)
#endif

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/*
* (Type & 0xC0) >> 6
* 0 -> ignorable
@@ -84,7 +73,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;

DEBUGP("ipv6_opts header iteration \n");
--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_esp.c.old 2003-03-05 23:31:02.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_esp.c 2003-03-05 23:31:22.000000000 +0100
@@ -23,17 +23,6 @@
__u32 spi;
};

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/* Returns 1 if the spi is matched by the range, 0 otherwise */
static inline int
spi_match(u_int32_t min, u_int32_t max, u_int32_t spi, int invert)
@@ -74,7 +63,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;
int hdrlen;

--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_frag.c.old 2003-03-05 23:31:23.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_frag.c 2003-03-05 23:31:45.000000000 +0100
@@ -44,17 +44,6 @@
__u32 id;
};

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/* Returns 1 if the id is matched by the range, 0 otherwise */
static inline int
id_match(u_int32_t min, u_int32_t max, u_int32_t id, int invert)
@@ -93,7 +82,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;

DEBUGP("ipv6_frag header iteration \n");
--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_hbh.c.old 2003-03-05 23:31:45.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_hbh.c 2003-03-05 23:32:01.000000000 +0100
@@ -29,17 +29,6 @@
#define DEBUGP(format, args...)
#endif

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/*
* (Type & 0xC0) >> 6
* 0 -> ignorable
@@ -84,7 +73,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;

DEBUGP("ipv6_opts header iteration \n");
--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_ipv6header.c.old 2003-03-05 23:32:02.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_ipv6header.c 2003-03-05 23:32:26.000000000 +0100
@@ -24,17 +24,6 @@
#define DEBUGP(format, args...)
#endif

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
static int
ipv6header_match(const struct sk_buff *skb,
const struct net_device *in,
@@ -95,7 +84,7 @@

temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;
int hdrlen;

--- linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_rt.c.old 2003-03-05 23:32:26.000000000 +0100
+++ linux-2.5.64-notfull/net/ipv6/netfilter/ip6t_rt.c 2003-03-05 23:32:40.000000000 +0100
@@ -21,17 +21,6 @@
#define DEBUGP(format, args...)
#endif

-int ipv6_ext_hdr(u8 nexthdr)
-{
- return ( (nexthdr == NEXTHDR_HOP) ||
- (nexthdr == NEXTHDR_ROUTING) ||
- (nexthdr == NEXTHDR_FRAGMENT) ||
- (nexthdr == NEXTHDR_AUTH) ||
- (nexthdr == NEXTHDR_ESP) ||
- (nexthdr == NEXTHDR_NONE) ||
- (nexthdr == NEXTHDR_DEST) );
-}
-
/* Returns 1 if the id is matched by the range, 0 otherwise */
static inline int
segsleft_match(u_int32_t min, u_int32_t max, u_int32_t id, int invert)
@@ -71,7 +60,7 @@
len = skb->len - ptr;
temp = 0;

- while (ipv6_ext_hdr(nexthdr)) {
+ while (ip6t_ext_hdr(nexthdr)) {
struct ipv6_opt_hdr *hdr;

DEBUGP("ipv6_rt header iteration \n");
--- linux-2.5.64-notfull/include/linux/netfilter_ipv6/ip6_tables.h.old 2003-03-05 23:36:49.000000000 +0100
+++ linux-2.5.64-notfull/include/linux/netfilter_ipv6/ip6_tables.h 2003-03-05 23:49:51.000000000 +0100
@@ -449,6 +449,9 @@
struct ip6t_table *table,
void *userdata);

+/* Check for an extension */
+extern int ip6t_ext_hdr(u8 nexthdr);
+
#define IP6T_ALIGN(s) (((s) + (__alignof__(struct ip6t_entry)-1)) & ~(__alignof__(struct ip6t_entry)-1))

#endif /*__KERNEL__*/

2003-03-27 20:35:30

by David Miller

[permalink] [raw]
Subject: Re: [2.4 patch] fix multiple definitions of ipv6_ext_hdr

From: Adrian Bunk <[email protected]>
Date: Thu, 27 Mar 2003 21:41:37 +0100

My fix for this issue that went into 2.5.66 is below (it applies
and compiles against 2.4.21-pre6, too).

Please apply

I'll take care of this, sorry.

2003-03-27 22:14:50

by J.A. Magallon

[permalink] [raw]
Subject: Re: [PATCH] d_alloc_anon for 2.4.21-pre6


On 03.27, Christoph Hellwig wrote:
> [$BIGNUM repost since August 2002, still zero feedback]
>
> The rewritten 2.5 nfsd export handling introduce a funcion,
> d_alloc_anon, to get an dentry for a given inode, either taking
> a well-connected one or allocating a new one.
>
> In 2.4 we have the functionality that it does in 2.4 duplicated over
> nfsd and all filesystems having their own fh_to_dentry method, and
> XFS needs even more instances of this for other handle to dentry
> conversations.
>
> This patch adds d_alloc_anon with exactly the same API as in 2.5, but
> the 2.4ish functionality instead to the kernel and switches nfsd, fat
> and reiserfs over to it.
>

The patch I had from time ago in -jam also included this switch to
list_for_each:

diff -uNr -Xdontdiff -p linux-2.4.20-pre4/fs/dcache.c linux/fs/dcache.c
--- linux-2.4.20-pre4/fs/dcache.c Sat Aug 17 14:54:38 2002
+++ linux/fs/dcache.c Tue Aug 20 11:39:48 2002
@@ -247,24 +247,22 @@ struct dentry * dget_locked(struct dentr

struct dentry * d_find_alias(struct inode *inode)
{
- struct list_head *head, *next, *tmp;
- struct dentry *alias;
+ struct dentry *dentry;
+ struct list_head *p;

spin_lock(&dcache_lock);
- head = &inode->i_dentry;
- next = inode->i_dentry.next;
- while (next != head) {
- tmp = next;
- next = tmp->next;
- alias = list_entry(tmp, struct dentry, d_alias);
- if (!list_empty(&alias->d_hash)) {
- __dget_locked(alias);
- spin_unlock(&dcache_lock);
- return alias;
- }
+ list_for_each(p, &inode->i_dentry) {
+ dentry = list_entry(p, struct dentry, d_alias);
+ if (!list_empty(&dentry->d_hash))
+ goto found;
}
spin_unlock(&dcache_lock);
return NULL;
+
+found:
+ __dget_locked(dentry);
+ spin_unlock(&dcache_lock);
+ return dentry;
}

/*

--
J.A. Magallon <[email protected]> \ Software is like sex:
werewolf.able.es \ It's better when it's free
Mandrake Linux release 9.1 (Bamboo) for i586
Linux 2.4.21-pre5-jam1 (gcc 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk))

2003-03-27 22:19:19

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] d_alloc_anon for 2.4.21-pre6

On Thu, Mar 27, 2003 at 11:25:59PM +0100, J.A. Magallon wrote:
> The patch I had from time ago in -jam also included this switch to
> list_for_each:

Yes, that's also a nice cleanup, but less important then d_alloc_anon.

2003-03-28 01:51:44

by Tom Vier

[permalink] [raw]
Subject: [PATCH] alpha ptrace fix Re: Linux 2.4.21-pre6

Chris Wright posted this change for alpha that's needed for the ptrace fix.

--
Tom Vier <[email protected]>
DSA Key ID 0xE6CB97DA

--- linux/arch/alpha/kernel/entry.S.kmod Tue Mar 18 18:17:46 2003
+++ linux-patched/arch/alpha/kernel/entry.S Tue Mar 18 18:18:50 2003
@@ -234,8 +234,8 @@
* arch_kernel_thread(fn, arg, clone_flags)
*/
.align 3
-.globl kernel_thread
-.ent kernel_thread
+.globl arch_kernel_thread
+.ent arch_kernel_thread
arch_kernel_thread:
ldgp $29,0($27) /* we can be called from a module */
.frame $30, 4*8, $26
@@ -265,7 +265,7 @@
mov $0,$16
mov $31,$26
jsr $31,sys_exit
-.end kernel_thread
+.end arch_kernel_thread

/*
* __kernel_execve(path, argv, envp, regs)

2003-03-31 18:04:00

by Alvaro Figueroa

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

On Wed, 2003-03-26 at 18:08, Marcelo Tosatti wrote:

> Here goes -pre6.

> Alan Cox <[email protected]>:
(...)
> o ali5451 is 31bit audio

Unfortunately, this patch has completely screwed up sound on the Sun
Blade 100.

I was wondering if this patch could be backed up in -pre7.

--
Alvaro Figueroa


2003-03-31 18:29:27

by Alan Cox

[permalink] [raw]
Subject: Re: Linux 2.4.21-pre6

> > Here goes -pre6.
>
> > Alan Cox <[email protected]>:
> (...)
> > o ali5451 is 31bit audio
>
> Unfortunately, this patch has completely screwed up sound on the Sun
> Blade 100.
>
> I was wondering if this patch could be backed up in -pre7.

No. Its a bug fix. DaveM is aware of the fact the sparc side needs
some tweaking