Skip to contentSkip to conversation

Linux 2.4.27-rc1

DISCUSSION Marcelo Tosatti 2 participants 3 messages Jun 20, 2004

lore
Share & tools
lore
#0 lore raw

Hi,

Here goes the first release candidate of kernel v2.4.27.

It contains a handful of ACPI bugfixes, HPFS update, USB fixes, amongst other smaller fixes.

Read the detailed changelog for more details

Summary of changes from v2.4.27-pre6 to v2.4.27-rc1
============================================

<andreas:xss.co.at>:
o fix hotplug Config.in xconfig breakage

Andi Kleen:
o Undo mistaken hunks in previous x86-64 MCE change
o Add missing include to x86-64 bluesmoke.c

Chris Wedgwood:
o stat nlink resolution fix

David S. Miller:

  o Cset exclude: [email protected]|ChangeSet|20040529193918|20643

David Stevens:
o [IPV4]: Fix interface selection in multicast sockops

Eyal Lebedinsky:
o Fix USB visor.c compilation error

Hideaki Yoshifuji:
o [IPV6]: UDPv6 checksum
o [IPV6]: UDPv6: Use udpv6_queue_rcv_skb()
o [IPV6]: Missing include in ip6_tables.c

Karol Kozimor:
o acpi4asus trivial sync with 2.6 (Karol 'sziwan' Kozimor)

Len Brown:
o [ACPI] PCI bus numbering workaround for ServerWorks from David Shaohua Li http://bugzilla.kernel.org/show_bug.cgi?id=1662
o [ACPI] fix passive cooling mode indicator (Luming Yu) http://bugzilla.kernel.org/show_bug.cgi?id=1770
o [ACPI] avoid spurious interrupts on VIA http://bugzilla.kernel.org/show_bug.cgi?id=2243
o [ACPI] fix 2.4.27-pre3 IRQ override regression due to dynamically allocated mp_irqs[].
o [ACPI] handle SCI override to nth IOAPIC http://bugzilla.kernel.org/show_bug.cgi?id=2835

Marcelo Tosatti:
o Add missing struct definition of rwsem race fixes
o Changed EXTRAVERSION to -rc1
o journal_try_to_free_buffers(): Add debug print in case of bh list corruption

Mikulas Patocka:
o HPFS fixes

Pete Zaitcev:
o USB: Fix jumpshot's capacity

#1 lore raw
Quoted 2 lines · Marcelo Tosatti

Marcelo Tosatti:
o journal_try_to_free_buffers(): Add debug print in case of bh list corruption

Which introduced 4 warnings. Here's a fix:

fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +2 -2
@@ -1700,11 +1700,11 @@ void debug_page(struct page *p)
 
 	bh = p->buffers;
 
-	printk(KERN_ERR "%s: page index:%u count:%d flags:%x\n", __FUNCTION__,
+	printk(KERN_ERR "%s: page index:%lu count:%d flags:%lx\n", __FUNCTION__,
 		 p->index, atomic_read(&p->count), p->flags);
 
 	while (bh) {
-		printk(KERN_ERR "%s: bh b_next:%p blocknr:%u b_list:%u state:%x\n",
+		printk(KERN_ERR "%s: bh b_next:%p blocknr:%lu b_list:%u state:%lx\n",
 			__FUNCTION__, bh->b_next, bh->b_blocknr, bh->b_list,
 				bh->b_state);
 		bh = bh->b_this_page;

And now I just looked at the original patch:

| --- linux-2.4.26/fs/jbd/transaction.c	2004-02-18 13:36:31.000000000 +0000
| +++ linux-2.4.27-rc1/fs/jbd/transaction.c	2004-06-19 23:37:33.000000000 +0000
| @@ -1752,6 +1769,11 @@ int journal_try_to_free_buffers(journal_
|  	do {
|  		struct buffer_head *p = tmp;
|
| +		if (!unlikely(tmp)) {
                    ^^^^^^^^^^^^^^

Shouldn't this be `unlikely(!tmp))'?

| +			debug_page(page);
| +			BUG();
| +		}
| +
|  		tmp = tmp->b_this_page;
|  		if (buffer_jbd(p))
|  			if (!__journal_try_to_free_buffer(p, &locked_or_dirty))

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

#2 lore raw

Hi Geert!

Quoted 12 lines · Geert Uytterhoeven
Quoted 2 lines · Marcelo Tosatti

Marcelo Tosatti:
o journal_try_to_free_buffers(): Add debug print in case of bh list corruption

Which introduced 4 warnings. Here's a fix:

fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +0 -0
@@ -1700,11 +1700,11 @@ void debug_page(struct page *p)
 
 	bh = p->buffers;
 

fs/jbd/transaction.c void debug_page(struct page *p) · line 1710

Quoted 10 lines
fs/jbd/transaction.c renamed from fs/jbd/transaction.c.orig +2 -2
-	printk(KERN_ERR "%s: page index:%u count:%d flags:%x\n", __FUNCTION__,
+	printk(KERN_ERR "%s: page index:%lu count:%d flags:%lx\n", __FUNCTION__,
 		 p->index, atomic_read(&p->count), p->flags);
 
 	while (bh) {
-		printk(KERN_ERR "%s: bh b_next:%p blocknr:%u b_list:%u state:%x\n",
+		printk(KERN_ERR "%s: bh b_next:%p blocknr:%lu b_list:%u state:%lx\n",
 			__FUNCTION__, bh->b_next, bh->b_blocknr, bh->b_list,
 				bh->b_state);
 		bh = bh->b_this_page;

Right.

Quoted 11 lines

And now I just looked at the original patch:

| --- linux-2.4.26/fs/jbd/transaction.c	2004-02-18 13:36:31.000000000 +0000
| +++ linux-2.4.27-rc1/fs/jbd/transaction.c	2004-06-19 23:37:33.000000000 +0000
| @@ -1752,6 +1769,11 @@ int journal_try_to_free_buffers(journal_
|  	do {
|  		struct buffer_head *p = tmp;
|
| +		if (!unlikely(tmp)) {
                    ^^^^^^^^^^^^^^

Shouldn't this be `unlikely(!tmp))'?

The original works, but thats cleaner as Willy also pointed out.

I'll fix those.

Thanks!