Changelogs on kernel.org
Hi.
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Can we 'tweak' them so that instead of:
<[email protected]> (02/04/17 1.383.12.1)
Fix meye driver request_irq bug.
<[email protected]> (02/04/17 1.383.12.2)
Enable the meye driver to get parameters on the kernel command line.
<[email protected]> (02/04/17 1.383.13.1)
[PATCH] add __LINE__ to out_of_line_bug()
<[email protected]> (02/04/17 1.383.13.2)
[PATCH] PATCH: some configure.help updates
<[email protected]> (02/04/17 1.383.13.3)
[PATCH] PATCH: more configure.help
<[email protected]> (02/04/17 1.383.13.4)
[PATCH] PATCH: More configure.help
<[email protected]> (02/04/17 1.383.13.5)
[PATCH] PATCH: more Configure.help
<[email protected]> (02/04/17 1.383.13.6)
[PATCH] PATCH: maintainers update
<[email protected]> (02/04/17 1.383.13.7)
[PATCH] PATCH: make cpu names clearer for new VIA
We get something nice like:
<[email protected]>
Fix meye driver request_irq bug.
Enable the meye driver to get parameters on the kernel command line.
<[email protected]>
[PATCH] add __LINE__ to out_of_line_bug()
<[email protected]>
[PATCH] PATCH: some configure.help updates [PATCH] PATCH: more configure.help
... above repeated 2 times
[PATCH] PATCH: maintainers update
[PATCH] PATCH: make cpu names clearer for new VIA
Quoted 10 lines · On Sun, 12 May 2002 01:07:09 +0100 Ian Molton <[email protected]> escribió:
Hi.
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Can we 'tweak' them so that instead of:
<[email protected]> (02/04/17 1.383.12.1)
Fix meye driverrequest_irqbug.
Well, why not having the date -02/04/17 in that case-?
What I'd really like to know is "1.383.12.1". I suposse it's bitkeeper info. ¿It's really useful?
Quoted 2 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
you seem to be the only one publicly complaining. go write a procmail recipe to fix them up.
j.
Signature · 2 lines
R N G G "Well, there it goes again... And we just sit I G G G here without opposable thumbs." -- gary larson
Generally the defense that "no one else is saying anything" is not a good one - especially b/c it opens up a huge space for others to agree with the original argument. And yes, they are illegible.
In fact, I believe that when things originally moved to BK, there was some discussion that although it was a step in the right direction, it needed to be cleaned up a little bit.
-Brian
Quoted 7 lines · john slee
Quoted 2 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
you seem to be the only one publicly complaining. go write a procmail recipe to fix them up.
Quoted 8 lines · john slee
Quoted 2 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
you seem to be the only one publicly complaining. go write a procmail recipe to fix them up.
j.
It seems to me that there is one positive change that could be made. The directory of the change should be named (since multiple files could be affected, directories are probably fewer in number).
Trever
--
Quoted 6 lines · john slee
Quoted 2 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
you seem to be the only one publicly complaining. go write a procmail recipe to fix them up.
duh, that was a bit of a thinko. of course you could apply the same to a shell script. :-)
i suspect that some people sufficiently "one with BK" might want the version-number-looking-things for each item in the changelog, not just per person.
j.
Signature · 2 lines
R N G G "Well, there it goes again... And we just sit I G G G here without opposable thumbs." -- gary larson
Quoted 4 lines · Brian C. Huffman
Generally the defense that "no one else is saying anything" is not a good one - especially b/c it opens up a huge space for others to agree with the original argument. And yes, they are illegible.
I agree. If developers need that changelog style it's fine, but on kernel.org homepage there should the old changelog format, so everyone can read it. The best changelog i've ever seen is the one used around ~2.4.9 release
- changedescription (author)
Regards
Signature · 1 line
Johnny
Quoted 11 lines · Johnny Mnemonic
Quoted 4 lines · Brian C. Huffman
Generally the defense that "no one else is saying anything" is not a good one - especially b/c it opens up a huge space for others to agree with the original argument. And yes, they are illegible.
I agree. If developers need that changelog style it's fine, but on kernel.org homepage there should the old changelog format, so everyone can read it. The best changelog i've ever seen is the one used around ~2.4.9 release
- changedescription (author)
So, is there anybody willing to put together the scripts to generate this changelog format automatically ?
Rik
Signature · 3 lines
Bravely reimplemented by the knights who say "NIH". http://www.surriel.com/ http://distro.conectiva.com/
Quoted 3 lines
Quoted 1 line
- changedescription (author)
So, is there anybody willing to put together the scripts to generate this changelog format automatically ?
Combining the efforts, the following almost makes coffee.
- Short mode
- Full mode
- Original mode
The original mode you requested prints the e-mail address, I guess it should be the author's real name to look more nice.
#!/usr/bin/perl -w
use strict;
# 0 for short, 1 for full, 2 for "original changelog" my $mode = 2;
# minimum space between entry and author for the original mode my $space = 5;
my %people = ();
my $addr = "";
my @cur = ();
my $comment = 0;
sub append_item() {
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
$comment = 1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
$_ =~ s/\[PATCH\] //g;
$_ =~ s/\s*PATCH //g;
if ($comment == 1 or $mode != 0) {
push @cur, "$_\n";
$comment = 0;
}
} else {
# Header information
print;
}
}append_item();
sub print_items($) {
my $person = $_[0];
my @items = @{$people{$person}};
# Vain attempt to sort patches from one address
@items = sort @items;
if ($mode == 0 or $mode == 1) {
print "<$person>\n";
} else {
$person = "($person)";
}
while ($_ = shift @items) {
if ($mode == 0) {
print "\to " . @$_[0];
} elsif ($mode == 1) {
print "\t------------------------------------------------------------\n";
foreach $_ (@$_) {
print "\t$_";
}
} elsif ($mode == 2) {
$_ = @$_[0];
chop;
$_ = "- $_";
# Split it onto two lines if necessary
if (length("$_ . $person") > 76 - $space) {
print ("$_\n" . " " x (76-length($person)) . "$person\n");
} else {
print ("$_" . " " x (76-length($person)-length($_)) . "$person\n");
}
}
}
}# Print the information
foreach $addr (sort keys %people) {
print_items($addr);
if ($mode != 2) { print "\n"; }
}Signature · 2 lines
Marcus Alanen [email protected]
Quoted 8 lines
Quoted 5 lines
I agree. If developers need that changelog style it's fine, but on kernel.org homepage there should the old changelog format, so everyone can read it. The best changelog i've ever seen is the one used around ~2.4.9 release
- changedescription (author)
So, is there anybody willing to put together the scripts to generate this changelog format automatically ?
Alright, another one.
$ ./fmtcl2.pl /usr/src/ChangeLog-2.5.14
Summary of changes from v2.5.13 to v2.5.14
============================================
o kd.h ([email protected]) o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes. ([email protected]) o mm/memory.c: ([email protected]) o suppress allocation warnings for radix-tree allocations ([email protected]) o radix-tree locking fix ([email protected]) o Allow truncate to discard unmapped buffers ([email protected]) o decouple swapper_space treatment from other address_spaces ([email protected]) o Allow ext3 pages to be written back by VM pressure ([email protected]) o Fix SMP race in truncate ([email protected]) o handle concurrent block_write_full_page and set_page_dirty ([email protected]) o Fix PG_launder ([email protected]) o Fix concurrent writepage and readpage ([email protected]) o Documentation update ([email protected]) o remove PRD_SEGMENTS ([email protected]) o 2.5.13 IDE 50 ([email protected]) o 2.5.13 IDE 51 ([email protected]) o 2.5.13 IDE 52 ([email protected]) o 2.5.13 IDE 53 ([email protected]) o [PATCH 2.5.13 IDE 54 ([email protected]) o remove global_bufferlist_lock ([email protected]) o fix config.in syntax errors. ([email protected])
<snip>
#!/usr/bin/perl -w
use strict;
my %people = ();
my $addr = "";
my @cur = ();
my $len = 60;
sub append_item()
{
if (!$addr) { return; }
if (!$people{$addr}) { @{$people{$addr}} = (); }
push @{$people{$addr}}, [@cur];
@cur = ();
}sub print_terse_items($)
{
my @items = @{$people{$_[0]}};
while ($_ = shift @items) {
my $fill = (" " x ($len - length(@$_[0]) + 1));
print "@$_$fill($_[0])\n";
}
}while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
# strip whitespace at start & end
s/^\s*(.*)\s*$/$1/;
# kill starting 'PATCH' captions
s/\s*\[?PATCH\]?\s*//;
# insert a bullet
s/^(.*)$/o $1/;
# Only save 1 line
if (scalar(@cur) < 1) {
push @cur, "$_";
# save record line length
if ((my $nlen = length($_)) > $len) { $len = $nlen; }
}
} else {
# Header information
print;
}
}append_item();
foreach $addr (sort keys %people) {
print_terse_items($addr);
}Quoted 3 lines
[Marcus Alanen <[email protected]>, May-13 2002, Mon, 14:52 +0300]
Combining the efforts, the following almost makes coffee.
Neat!
Quoted 6 lines
- Short mode
- Full mode
- Original modeThe original mode you requested prints the e-mail address, I guess it should be the author's real name to look more nice.
Okay.. how about the name db? That seems to be the last feature missing.
Quoted 3 lines
s/^\s*(.*)\s*$/$1/;
$_ =~ s/\[PATCH\] //g;
$_ =~ s/\s*PATCH //g;s/^\s*(.*)\s*$/$1/;
s/^\[?PATCH\]?\s*//;
will be sufficient I believe. Also, the "/g" is not a good idea.
T.
Quoted 3 lines · Tomas Szepe
Quoted 2 lines
The original mode you requested prints the e-mail address, I guess it should be the author's real name to look more nice.
Okay.. how about the name db? That seems to be the last feature missing.
Yes, ok with Matthias I hope?
Quoted 4 lines
s/^\s*(.*)\s*$/$1/;
s/^\[?PATCH\]?\s*//;will be sufficient I believe. Also, the "/g" is not a good idea.
Agreed. Added /i for case-insensitivity. Also, e-mail addresses must be at beginning of line, otherwise it is too easily confused.
Somebody make the mode changeable via command-line option...
So is any of this usable?
Short mode:
<[email protected]>
o 3ware driver update for 2.5.8-pre1
<[email protected]>
o Add three scripts for BK users, to Documentation/BK-usage:
<[email protected]>
o ACPI interpreter update.
o MADT parsing improvements (Paul D & Richard Schaal)
o ACPI driver updates
Original mode:
o loop deadlock fix Andrew Morton o ->setattr() locking changes Andrew Morton o Various minor bug fixes for 3c59x net driver. Andrew Morton
o This fixes the "i_blocks went wrong when the disk filled up" Andrew Morton
o ext3 filesystem sync mount speedup: Andrew Morton
o ext2_fill_super breakage Andrew Morton
o Fix jiffies-comparison timeout bug in arlan net driver. Alan Cox
o ppc64: update for pte in highmem changes [email protected]
#!/usr/bin/perl -w
# This Perl script is meant to simplify BK ChangeLogs for the linux
# kernel. # # (C) Copyright 2002 by Matthias Andree <[email protected]>, # Marcus Alanen <[email protected]> # # ---------------------------------------------------------------------- # 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 white space!) #
# <[email protected]>
# changelog text
# more changelog text
# <[email protected]>
# yet another changelog
# <[email protected]>
# changelog #3
# more lines
#
# Groups and sorts the entries by email address:
#
# [email protected]:
# changelog #3
# [email protected]
# changelog text
# yet another changelog
#
# There are three different modes:
# - Short mode (one changelog == one line)
# - Full mode (changelogs separated by dashed line) # - Original mode (one line consisting of changelog and author) #
# Where possible, also adds the real name of the author using
# a static hash %addresses #
use strict;
# 0 for short, 1 for full, 2 for "original changelog" my $mode = 2;
# minimum space between entry and author for the original mode my $space = 5;
# the key is the email address in ALL LOWER CAPS! # the value is the real name of the person my %addresses = ( '[email protected]' => 'Anton Altaparmakov', '[email protected]' => 'Andi Kleen', '[email protected]' => 'Andrew Morton', '[email protected]' => 'Alan Cox', '[email protected]' => 'Andrea Arcangeli', '[email protected]' => 'Andrzej Krzysztofowicz', '[email protected]' => 'Jens Axboe', '[email protected]' => 'Brian Gerst', '[email protected]' => 'Martin Dalecki', '[email protected]' => 'David S. Miller', '[email protected]' => 'Davide Libenzi', '[email protected]' => 'Oleg Drokin', '[email protected]' => 'Christoph Hellwig', '[email protected]' => 'Jeff Garzik', '[email protected]' => 'James Simmons', '[email protected]' => 'James Simmons', '[email protected]' => 'Keith Owens', '[email protected]' => 'Larry McVoy', '[email protected]' => 'Manfred Spraul', '[email protected]' => 'Neil Brown', '[email protected]' => 'Paul Mackerras', '[email protected]' => 'Jaroslav Kysela', '[email protected]' => 'Richard Gooch', '[email protected]' => 'Russell King', '[email protected]' => 'Tomas Szepe', '[email protected]' => 'Linus Torvalds', '[email protected]' => 'Alexander Viro', '~~~~~~thisentrylastforconvenience~~~~~' => 'Cesar Brutus Anonymous' );
my %people = ();
my $addr = "";
my @cur = ();
sub append_item() {
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}while (<>) {
# Match address
if (/^<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
$_ =~ s/\[?PATCH\]?\s*//i;
push @cur, "$_\n";
} else {
# Header information
print;
}
}append_item();
# get name associated to an email address
sub rmap_address {
#my @i = map { lc; } @_;
my @o = map {defined $addresses{lc $_} ? $addresses{lc $_} : $_ } @_;
return wantarray ? @o : $o[0];
}sub print_items($) {
my $person = $_[0];
my $realname = rmap_address($person);
my @items = @{$people{$person}};
# Vain attempt to sort patches from one address
@items = sort @items;
if ($mode == 0 or $mode == 1) {
if ($realname ne $person) {
print "$realname ";
}
print "<$person>\n";
}
while ($_ = shift @items) {
if ($mode == 0) {
print "\to " . @$_[0];
} elsif ($mode == 1) {
print "\t------------------------------------------------------------\n";
foreach $_ (@$_) {
print "\t$_";
}
} elsif ($mode == 2) {
$_ = @$_[0];
chop;
$_ = "o $_";
# Split it onto two lines if necessary
if (length("$_ . $realname") > 76 - $space) {
print ("$_\n" . " " x (76-length($realname)) . "$realname\n");
} else {
print ("$_" . " " x (76-length($realname)-length($_)) . "$realname\n");
}
}
}
}# Print the information
foreach $addr (sort keys %people) {
print_items($addr);
if ($mode != 2) { print "\n"; }
}Signature · 2 lines
Marcus Alanen * Department of Computer Science * http://www.cs.abo.fi/ [email protected]
Quoted 1 line
Somebody make the mode changeable via command-line option...
Done... in a slightly different manner :)
cl:
- clean up
- indentation
- CMODE environment variable
./fmt /usr/src/ChangeLog-2.5.14 gives output in orig. mode
CMODE=2 ./fmt /usr/src/ChangeLog-2.5.14 gives output in orig. mode
CMODE=1 ./fmt /usr/src/ChangeLog-2.5.14 gives output in full mode
CMODE=0 ./fmt /usr/src/ChangeLog-2.5.14 gives output in terse mode
#!/usr/bin/perl -w
#
# This Perl script is meant to simplify/beautify BK ChangeLogs
# for the linux kernel. # # (C) Copyright 2002 by Matthias Andree <[email protected]>, # Marcus Alanen <[email protected]>, # Tomas Szepe <[email protected]> # # Version 0.90. # # ------------------------------------------------------------------ # 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 protected]> # changelog text # more changelog text # <[email protected]> # yet another changelog # <[email protected]> # changelog #3 # more lines # # Groups and sorts the entries by email address: # # [email protected]: # changelog #3 # [email protected] # changelog text # yet another changelog # # There are three different modes: # - Short mode (one changelog == one line) # - Full mode (changelogs separated by dashed line) # - Original mode (one line consisting of changelog and author) # # Where possible, also adds the real name of the author using # a static hash %addresses #
use strict;
# CMODE environment variable selects output mode:
# 0 for short, 1 for full, 2 for "original changelog" # (default is 2 if $CMODE unset)
#
my $mode = 2;
foreach my $en (keys(%ENV)) {
if ($en eq "CMODE") {
$mode = $ENV{CMODE};
if ($mode ne "0" && $mode ne "1" && $mode ne "2") {
print "CMODE has to be 0 for short, 1 for full, 2 for orig. Undefined defaults to 2.\n";
die();
}
}
}# minimum space between entry and author for the original mode my $space = 5;
# the key is the email address in ALL LOWER CAPS! # the value is the real name of the person my %addresses = ( '[email protected]' => 'Anton Altaparmakov', '[email protected]' => 'Andi Kleen', '[email protected]' => 'Andrew Morton', '[email protected]' => 'Alan Cox', '[email protected]' => 'Andrea Arcangeli', '[email protected]' => 'Andrzej Krzysztofowicz', '[email protected]' => 'Jens Axboe', '[email protected]' => 'Brian Gerst', '[email protected]' => 'Martin Dalecki', '[email protected]' => 'David S. Miller', '[email protected]' => 'Davide Libenzi', '[email protected]' => 'Oleg Drokin', '[email protected]' => 'Christoph Hellwig', '[email protected]' => 'Jeff Garzik', '[email protected]' => 'James Simmons', '[email protected]' => 'James Simmons', '[email protected]' => 'Keith Owens', '[email protected]' => 'Larry McVoy', '[email protected]' => 'Manfred Spraul', '[email protected]' => 'Neil Brown', '[email protected]' => 'Paul Mackerras', '[email protected]' => 'Jaroslav Kysela', '[email protected]' => 'Richard Gooch', '[email protected]' => 'Russell King', '[email protected]' => 'Tomas Szepe', '[email protected]' => 'Linus Torvalds', '[email protected]' => 'Alexander Viro', '~~~~~~thisentrylastforconvenience~~~~~' => 'Cesar Brutus Anonymous' );
my %people = ();
my $addr = "";
my @cur = ();
sub append_item()
{
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}# get name associated to an email address
sub rmap_address
{
my @o = map {defined $addresses{lc $_} ? $addresses{lc $_} : $_ } @_;
return wantarray ? @o : $o[0];
}sub print_items($)
{
my $person = $_[0];
my $realname = rmap_address($person);
my @items = @{$people{$person}};
# Vain attempt to sort patches from one address
@items = sort @items;
if ($mode == 0 or $mode == 1) {
if ($realname ne $person) {
print "$realname ";
}
print "<$person>\n";
}
while ($_ = shift @items) {
if ($mode == 0) {
print "\to " . @$_[0];
} elsif ($mode == 1) {
print "\t------------------------------------------------------------\n";
foreach $_ (@$_) {
print "\t$_";
}
} elsif ($mode == 2) {
$_ = @$_[0];
chop;
$_ = "o $_";
# Split it onto two lines if necessary
if (length("$_ . $realname") > 76 - $space) {
print ("$_\n" . " " x (76-length($realname)) . "$realname\n");
} else {
print ("$_" . " " x (76-length($realname)-length($_)) . "$realname\n");
}
}
}
}while (<>)
{
# Match address
if (/^<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
$_ =~ s/\[?PATCH\]?\s*//i;
push @cur, "$_\n";
} else {
# Header information
print;
}
}append_item();
# Print the information
foreach $addr (sort keys %people) {
print_items($addr);
if ($mode != 2) { print "\n"; }
}Quoted 9 lines
Quoted 1 line
Somebody make the mode changeable via command-line option...
Done... in a slightly different manner :)
cl:
- clean up
- indentation
- CMODE environment variable
Quoted 4 lines
./fmt
/usr/src/ChangeLog-2.5.14gives output in orig. mode
CMODE=2 ./fmt/usr/src/ChangeLog-2.5.14gives output in orig. mode
CMODE=1 ./fmt/usr/src/ChangeLog-2.5.14gives output in full mode
CMODE=0 ./fmt/usr/src/ChangeLog-2.5.14gives output in terse mode
Version 0.91.
- Add a missing "last;" statement (major major speedup! :D)
- Add a couple comments
- More indentation changes and cleanups
#!/usr/bin/perl -w
#
# This Perl script is meant to simplify/beautify BK ChangeLogs
# for the linux kernel. # # (C) Copyright 2002 by Matthias Andree <[email protected]>, # Marcus Alanen <[email protected]>, # Tomas Szepe <[email protected]> # # Version 0.91. # (Please don't bump this if you've just added another email-to-name # mapping entry to the db.) # # ------------------------------------------------------------------ # 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 protected]> # changelog text # more changelog text # <[email protected]> # yet another changelog # <[email protected]> # changelog #3 # more lines # # Groups and sorts the entries by email address: # # [email protected]: # changelog #3 # [email protected] # changelog text # yet another changelog # # There are three different modes: # - Short mode (one changelog == one line) # - Full mode (changelogs separated by dashed line) # - Original mode (one line consisting of changelog and author) # # Where possible, also adds the real name of the author using # a static hash %addresses #
use strict;
# CMODE environment variable selects output mode:
# 0 for short, 1 for full, 2 for "original changelog" # (default is 2 if $CMODE unset)
#
my $mode = 2;
foreach my $en (keys(%ENV)) {
if ($en eq "CMODE") {
$mode = $ENV{CMODE};
if ($mode ne "0" && $mode ne "1" && $mode ne "2") {
print "CMODE has to be 0 for short, 1 for full, 2 for orig. Undefined defaults to 2.\n";
die();
}
last;
}
}# minimum space between entry and author for the original mode my $space = 5;
# the key is the email address in ALL LOWER CAPS! # the value is the real name of the person # my %addresses = ( '[email protected]' => 'Anton Altaparmakov', '[email protected]' => 'Andi Kleen', '[email protected]' => 'Andrew Morton', '[email protected]' => 'Alan Cox', '[email protected]' => 'Andrea Arcangeli', '[email protected]' => 'Andrzej Krzysztofowicz', '[email protected]' => 'Jens Axboe', '[email protected]' => 'Brian Gerst', '[email protected]' => 'Martin Dalecki', '[email protected]' => 'David S. Miller', '[email protected]' => 'Davide Libenzi', '[email protected]' => 'Oleg Drokin', '[email protected]' => 'Christoph Hellwig', '[email protected]' => 'Jeff Garzik', '[email protected]' => 'James Simmons', '[email protected]' => 'James Simmons', '[email protected]' => 'Keith Owens', '[email protected]' => 'Larry McVoy', '[email protected]' => 'Manfred Spraul', '[email protected]' => 'Neil Brown', '[email protected]' => 'Paul Mackerras', '[email protected]' => 'Jaroslav Kysela', '[email protected]' => 'Richard Gooch', '[email protected]' => 'Russell King', '[email protected]' => 'Tomas Szepe', '[email protected]' => 'Linus Torvalds', '[email protected]' => 'Alexander Viro', '~~~~thisentrylastforconvenience~~~~' => 'Cesar Brutus Anonymous' );
my %people = ();
my $addr = "";
my @cur = ();
sub append_item()
{
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}# get name associated to an email address
sub rmap_address
{
my @o = map {defined $addresses{lc $_} ? $addresses{lc $_} : $_ } @_;
return wantarray ? @o : $o[0];
}sub print_items($)
{
my $person = $_[0];
my $realname = rmap_address($person);
my @items = @{$people{$person}};
# Vain attempt to sort patches from one address
@items = sort @items;
if ($mode == 0 or $mode == 1) {
if ($realname ne $person) {
print "$realname ";
}
print "<$person>\n";
}
while ($_ = shift @items) {
if ($mode == 0) {
print "\to " . @$_[0];
} elsif ($mode == 1) {
print "\t------------------------------------------------------------\n";
foreach $_ (@$_) {
print "\t$_";
}
} elsif ($mode == 2) {
$_ = @$_[0];
chop;
$_ = "o $_";
# Split it onto two lines if necessary
if (length("$_ . $realname") > 76 - $space) {
print "$_\n" . " " x (76 - length($realname)) . "$realname\n";
} else {
print "$_" . " " x (76 - length($realname) - length($_)) . "$realname\n";
}
}
}
}while (<>)
{
# Match address
if (/^<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
s/\[?PATCH\]?\s*//i;
push @cur, "$_\n";
} else {
# Header information
print;
}
}append_item();
# Print the information
foreach $addr (sort keys %people) {
print_items($addr);
if ($mode != 2) { print "\n"; }
}Quoted 14 lines · Tomas Szepe
Quoted 9 lines
Quoted 1 line
Somebody make the mode changeable via command-line option...
Done... in a slightly different manner :)
cl:
- clean up
- indentation
- CMODE environment variableQuoted 4 lines
./fmt
/usr/src/ChangeLog-2.5.14gives output in orig. mode
CMODE=2 ./fmt/usr/src/ChangeLog-2.5.14gives output in orig. mode
CMODE=1 ./fmt/usr/src/ChangeLog-2.5.14gives output in full mode
CMODE=0 ./fmt/usr/src/ChangeLog-2.5.14gives output in terse mode
Quoted 6 lines
Version 0.91.
- Add a missing "last;" statement (major major speedup! :D)
- Add a couple comments
- More indentation changes and cleanups
What do you think about this patch for a 0.92 version?
- Added an usage note
- Changed CMODE environment variable for a command line argument
Best regards
Robinson Maureira C.
fmclog.pl renamed from fmclog.pl.orig +27 -16
@@ -5,9 +5,13 @@ # # (C) Copyright 2002 by Matthias Andree <[email protected]>, # Marcus Alanen <[email protected]>, -# Tomas Szepe <[email protected]> +# Tomas Szepe <[email protected]>, +# Robinson Maureira <[email protected]> +# +# Version 0.92. +# +# Changed use of an environment variable for a command line argument # -# Version 0.91. # (Please don't bump this if you've just added another email-to-name # mapping entry to the db.) #
@@ -47,20 +51,23 @@ use strict; -# CMODE environment variable selects output mode: -# 0 for short, 1 for full, 2 for "original changelog" -# (default is 2 if $CMODE unset) -# +# Dump usage if we get no arguments + +die "Usage $0 [-n] <Changelog file>\nThis Perl script is meant to simplify/beautify BK ChangeLogs\nfor the linux kernel\n\nn\tFormat for the output\n\t0 - Short mode (one changelog == one line)\n\t1 - Full mode (changelogs separated by dashed line)\n\t2 - Original mode (one line consisting of changelog and author)[DEFAULT]\n" unless defined $ARGV[0]; + +# Check if we received an argument for the mode +# If we do, we set $mode properly an set the apropiate name for $fd +# Also, we default to $mode = 2 and $fd being the first parameter +# TODO: Check for a non-numeric character in $mode + my $mode = 2; -foreach my $en (keys(%ENV)) { - if ($en eq "CMODE") { - $mode = $ENV{CMODE}; - if ($mode ne "0" && $mode ne "1" && $mode ne "2") { - print "CMODE has to be 0 for short, 1 for full, 2 for orig. Undefined defaults to 2.\n"; - die(); - } - last; - } +my $fd = $ARGV[0]; + +if (grep(/^-/,$ARGV[0])) { + $mode = $ARGV[0]; + $mode =~ s/-//; + $mode = 2 if ($mode > 2); + $fd = $ARGV[1]; } # minimum space between entry and author for the original mode
@@ -160,7 +167,9 @@ } } -while (<>) +open FD,$fd; + +while (<FD>) { # Match address if (/^<([^>]+)>/) {
@@ -177,6 +186,8 @@ print; } } + +close(FD); append_item(); # Print the information
Quoted 2 lines
- Added an usage note
- Changed CMODE environment variable for a command line argument
Thanks, but the idea behind CMODE is that it's possible to set the output mode and still have the script act both as a filter and file eater (multiple changelogs on cmdline are ok of course) w/o having to handle the eating "explicitly."
Plus one can put "export CMODE=something" in ~/.profile and forget about the modes entirely.
Here comes 0.92 (s/LOWER CAPS/lower case/ as pointed out by Kai Henningsen). Let's call it a candidate for inclusion in scripts/. Linus?
Take care,
T.
#!/usr/bin/perl -w
#
# This Perl script is meant to simplify/beautify BK ChangeLogs
# for the linux kernel. # # (C) Copyright 2002 by Matthias Andree <[email protected]>, # Marcus Alanen <[email protected]>, # Tomas Szepe <[email protected]> # # Version 0.92. # (Please don't bump this if you've just added another email-to-name # mapping entry to the db.) # # ------------------------------------------------------------------ # 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 protected]> # changelog text # more changelog text # <[email protected]> # yet another changelog # <[email protected]> # changelog #3 # more lines # # Groups and sorts the entries by email address: # # [email protected]: # changelog #3 # [email protected] # changelog text # yet another changelog # # There are three different modes: # - Short mode (one changelog == one line) # - Full mode (changelogs separated by dashed line) # - Original mode (one line consisting of changelog and author) # # Where possible, also adds the real name of the author using # a static hash %addresses #
use strict;
# CMODE environment variable selects output mode:
# 0 for short, 1 for full, 2 for "original changelog" # (default is 2 if $CMODE unset)
#
my $mode = 2;
foreach my $en (keys(%ENV)) {
if ($en eq "CMODE") {
$mode = $ENV{CMODE};
if ($mode ne "0" && $mode ne "1" && $mode ne "2") {
print "CMODE has to be 0 for short, 1 for full, 2 for orig. Undefined defaults to 2.\n";
die();
}
last;
}
}# minimum space between entry and author for the original mode my $space = 5;
# The key is the email address *in lower case*,
# the value is the real name of the person. # my %addresses = ( '[email protected]' => 'Anton Altaparmakov', '[email protected]' => 'Andi Kleen', '[email protected]' => 'Andrew Morton', '[email protected]' => 'Alan Cox', '[email protected]' => 'Andrea Arcangeli', '[email protected]' => 'Andrzej Krzysztofowicz', '[email protected]' => 'Jens Axboe', '[email protected]' => 'Brian Gerst', '[email protected]' => 'Martin Dalecki', '[email protected]' => 'David S. Miller', '[email protected]' => 'Davide Libenzi', '[email protected]' => 'Oleg Drokin', '[email protected]' => 'Christoph Hellwig', '[email protected]' => 'Jeff Garzik', '[email protected]' => 'James Simmons', '[email protected]' => 'James Simmons', '[email protected]' => 'Keith Owens', '[email protected]' => 'Larry McVoy', '[email protected]' => 'Manfred Spraul', '[email protected]' => 'Neil Brown', '[email protected]' => 'Paul Mackerras', '[email protected]' => 'Jaroslav Kysela', '[email protected]' => 'Richard Gooch', '[email protected]' => 'Russell King', '[email protected]' => 'Tomas Szepe', '[email protected]' => 'Linus Torvalds', '[email protected]' => 'Alexander Viro', '~~~~thisentrylastforconvenience~~~~' => 'Cesar Brutus Anonymous' );
my %people = ();
my $addr = "";
my @cur = ();
sub append_item()
{
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}# get name associated to an email address
sub rmap_address
{
my @o = map {defined $addresses{lc $_} ? $addresses{lc $_} : $_ } @_;
return wantarray ? @o : $o[0];
}sub print_items($)
{
my $person = $_[0];
my $realname = rmap_address($person);
my @items = @{$people{$person}};
# Vain attempt to sort patches from one address
@items = sort @items;
if ($mode == 0 or $mode == 1) {
if ($realname ne $person) {
print "$realname ";
}
print "<$person>\n";
}
while ($_ = shift @items) {
if ($mode == 0) {
print "\to " . @$_[0];
} elsif ($mode == 1) {
print "\t------------------------------------------------------------\n";
foreach $_ (@$_) {
print "\t$_";
}
} elsif ($mode == 2) {
$_ = @$_[0];
chop;
$_ = "o $_";
# Split it onto two lines if necessary
if (length("$_ . $realname") > 76 - $space) {
print "$_\n" . " " x (76 - length($realname)) . "$realname\n";
} else {
print "$_" . " " x (76 - length($realname) - length($_)) . "$realname\n";
}
}
}
}while (<>)
{
# Match address
if (/^<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
s/\[?PATCH\]?\s*//i;
push @cur, "$_\n";
} else {
# Header information
print;
}
}append_item();
# Print the information
foreach $addr (sort keys %people) {
print_items($addr);
if ($mode != 2) { print "\n"; }
}Quoted 1 line · Robinson Maureira Castillo
+die "Usage $0 [-n] <Changelog file>\nThis Perl script is meant to simplify/beautify BK ChangeLogs\nfor the linux kernel\n\nn\tFormat for the output\n\t0 - Short mode (one changelog == one line)\n\t1 - Full mode (changelogs separated by dashed line)\n\t2 - Original mode (one line consisting of changelog and author)[DEFAULT]\n" unless defined $ARGV[0];
Why forbid filtering?
Review
Quoted 7 lines
(quoted diff) +7
-0+my $fd = $ARGV[0]; + +if (grep(/^-/,$ARGV[0])) { + $mode = $ARGV[0]; + $mode =~ s/-//; + $mode = 2 if ($mode > 2); + $fd = $ARGV[1];
It's time for some Getopt::. I'll merge the interesting parts of 0.92 as posted by Tomas, my plan is: use the LINUX_BK2CHANGELOG variable for defaults, but allow to override them with command line arguments.
Review line 170
Quoted 7 lines
# minimum space between entry and author for the original mode(quoted diff) +1
-1@@ -160,7 +167,9 @@ } } -while (<>) +open FD,$fd;
This gives room for nasty surprises, if $ARGV[whatever] starts with a ">" or "|". Easy to fix, but we can avoid this, because Perl already handles it for us. Check the docs on <> behaviour when extra command line arguments are left over.
Signature · 1 line
Matthias Andree
Quoted 8 lines · Tomas Szepe
Quoted 2 lines
- Added an usage note
- Changed CMODE environment variable for a command line argumentThanks, but the idea behind CMODE is that it's possible to set the output mode and still have the script act both as a filter and file eater (multiple changelogs on cmdline are ok of course) w/o having to handle the eating "explicitly."
Quoted 6 lines
Plus one can put "export CMODE=something" in ~/.profile and forget about the modes entirely.
Here comes 0.92 (s/LOWER CAPS/lower case/ as pointed out by Kai Henningsen). Let's call it a candidate for inclusion in
scripts/. Linus?
Too early. It's undocumented, for example.
Quoted 2 lines
Quoted 1 line
+die "Usage $0 [-n] <Changelog file>\nThis Perl script is meant to simplify/beautify BK ChangeLogs\nfor the linux kernel\n\nn\tFormat for the output\n\t0 - Short mode (one changelog == one line)\n\t1 - Full mode (changelogs separated by dashed line)\n\t2 - Original mode (one line consisting of changelog and author)[DEFAULT]\n" unless defined $ARGV[0];
Why forbid filtering?
Jup, please keep that.
Quoted 10 lines
Review
Quoted 7 lines
(quoted diff) +7
-0+my $fd = $ARGV[0]; + +if (grep(/^-/,$ARGV[0])) { + $mode = $ARGV[0]; + $mode =~ s/-//; + $mode = 2 if ($mode > 2); + $fd = $ARGV[1];It's time for some Getopt::. I'll merge the interesting parts of 0.92 as posted by Tomas, my plan is: use the
LINUX_BK2CHANGELOGvariable for defaults, but allow to override them with command line arguments.
That's great as long as we're able to use the script both as a filter and as a file processor (allowing multiple filenames given on cmdline).
Quoted 11 lines
Review line 170
Quoted 7 lines
# minimum space between entry and author for the original mode(quoted diff) +1
-1@@ -160,7 +167,9 @@ } } -while (<>) +open FD,$fd;This gives room for nasty surprises, if $ARGV[whatever] starts with a ">" or "|". Easy to fix, but we can avoid this, because Perl already handles it for us. Check the docs on <> behaviour when extra command line arguments are left over.
Right.
T.
Quoted 3 lines · Tomas Szepe
Quoted 3 lines
Quoted 1 line
Somebody make the mode changeable via command-line option...
Done... in a slightly different manner :)
What would be even _nicer_ is to remove the dependency on the changelog script entirely (right now you have to pipe the output through this perl script to get the results.)
The script that Linus (and others) uses can be found at:
http://gkernel.bkbits.net:8080/BK-kernel-tools/anno/[email protected]?nav=index.html|src/
thanks,
greg k-h
Quoted 12 lines · Tomas Szepe
Quoted 4 lines
Quoted 4 lines
Quoted 2 lines
Somebody make the mode changeable via command-line option...
Done... in a slightly different manner :)
What would be even _nicer_ is to remove the dependency on the changelog script entirely (right now you have to pipe the output through this perl script to get the results.)
The script that Linus (and others) uses can be found at:
http://gkernel.bkbits.net:8080/BK-kernel-tools/anno/[email protected]?nav=index.html|src/
Hmm that could be done of course, but... why?
1) One more pipe can't hurt.
2) Linus himself requested a perl script that'd take the changelog as input.
T.
Quoted 6 lines · Greg KH
What would be even _nicer_ is to remove the dependency on the changelog script entirely (right now you have to pipe the output through this perl script to get the results.)
The script that Linus (and others) uses can be found at:
http://gkernel.bkbits.net:8080/BK-kernel-tools/anno/[email protected]?nav=index.html|src/
I'm a BK ignorant, and for robustness and programmer efficiency ;-) reasons, I'd prefer not to call other software from a Perl script. Doing that properly and handling errors correctly costs some dozens of lines of code that we save when we're just building on what we have now. The way it is now, we can deal with old and current ChangeLogs, we have the verbose summary (overview, actually) and that's it. As these scripts are not called more than several times a month, I fail to see the point in eliminating the original bk stuff. Maybe someone uses Arch or Subversion some day? Who knows? We have a well-defined input format that is easy enough to parse.
Enough of this, I'm not about to waste more of my and your time :-)
(Now back to merging and optimizing the things that have been done to my script... thanks!)
Signature · 1 line
Matthias Andree
Quoted 11 lines · Tomas Szepe
Quoted 7 lines
What would be even _nicer_ is to remove the dependency on the changelog script entirely (right now you have to pipe the output through this perl script to get the results.)
The script that Linus (and others) uses can be found at:
http://gkernel.bkbits.net:8080/BK-kernel-tools/anno/[email protected]?nav=index.html|src/Hmm that could be done of course, but... why?
1) One more pipe can't hurt.
2) Linus himself requested a perl script that'd take the changelog as input.
Because we were throwing out things we wished the script could handle? It's just a suggestion. :)
thanks,
greg k-h
Quoted 2 lines · Greg KH
Because we were throwing out things we wished the script could handle? It's just a suggestion. :)
Well, the script is already there, we're just playing source coding here and writing an irrelevance reduction tool to accompany it. </engineering>
:-)
BTW, no need to reply to all, please reply to the list only.
Mail-Followup-To: should be set unless my mutt is buggy.
Signature · 1 line
Matthias Andree
Freeze on 2.4.18
In reply to Tomas Szepehi all,
I subscribed to this mailing list to try to find a solution to my linux box, this is my first message, I hope I have done it well.
Everything was ok in my linux box until I bought my harddisk 80 Go of IGM (GXP).
Here is the problem:
Sometimes when I boot my system, It freeze ... You can check the oops included in the email.
More strange ... When I enable the UDMA in the bios of my motherboard, I get some errors like:
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
So, Like I have that errors, I disable it and I have no errors.
Anyway, that's a part of the problem.
The second part is that my computer is really buggy ... I don't know why ... I work ... freeze ... I play ... freeze ... I make 3D .... it freeze .... That's really boring.
Now third part, when I reboot it just after a crash, I get a beautifull OOPS.
I don't know how to reproduce it ... but I need to reset the computer 3 or 4 times
to make it go away.
I want you to know that all this problems come just after the bought of my new HD. Before the IBM, I had a Maxtor of 20Go ... and I had NO ANY PROBLEM !!
I use Linux (Slackware) since now 3 years and it is the first time I see a problem like mine.
I also remarqued that I have less booting problem when I use the kernel 2.5.15... dunno why
So, here is my machine spec:
[17:53:36][blenderman@slack:~]$ uname -a Linux slack 2.5.15 #1 SMP Sat May 11 23:02:24 CEST 2002 i686 unknown
[17:53:54][root@slack:/home/blenderman]# lspci 00:00.0 Host bridge: VIA Technologies, Inc. VT82C691 [Apollo PRO] (rev c4) 00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3 AGP] 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super] (rev 40) 00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06) 00:07.2 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 16) 00:07.3 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 16) 00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) 00:0e.0 Multimedia audio controller: Creative Labs SB Live! EMU10000 (rev 07) 00:0e.1 Input device controller: Creative Labs SB Live! (rev 07) 00:10.0 Ethernet controller: MYSON Technology Inc: Unknown device 0803 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04) [17:53:57][root@slack:/home/blenderman]#
[17:55:14][root@slack:/home/blenderman]# free
total used free shared buffers cached
Mem: 1035444 809812 225632 0 97088 558476
-/+ buffers/cache: 154248 881196
Swap: 1951856 0 1951856
[17:55:22][root@slack:/home/blenderman]# My motherboard is a MSI 694D-pro Version 1.0
[17:55:22][root@slack:/home/blenderman]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 10 cpu MHz : 1002.276 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1998.84
processor : 1vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 1002.276
cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : no
fpu : yesfpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr sse
bogomips : 1998.84
my dmesg:
Linux version 2.5.15 (root@slack) (gcc version 2.95.3 20010315 (release)) #1 SMP Sat M
ay 11 23:02:24 CEST 2002
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000040000000 (usable)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
128MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f5fd0
hm, page 000f5000 reserved twice.
hm, page 000f6000 reserved twice.
hm, page 000f1000 reserved twice.
hm, page 000f2000 reserved twice.
On node 0 totalpages: 262144
zone(0): 4096 pages.
zone(1): 225280 pages.
zone(2): 32768 pages.
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000 Processor #0 Pentium(tm) Pro APIC version 17
Processor #1 Pentium(tm) Pro APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 2
Kernel command line: BOOT_IMAGE=2.5.15 root=302
Initializing CPU#0
Detected 1002.276 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1998.84 BogoMIPS
Memory: 1035216k/1048576k available (1438k kernel code, 12972k reserved, 466k data, 22
8k init, 131072k highmem)
Dentry-cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Before vendor init, caps: 0387fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0387fbff 00000000 00000000 00000000 CPU serial number disabled.
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done. Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000 Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000 CPU0: Intel Pentium III (Coppermine) stepping 0a per-CPU timeslice cutoff: 731.04 usecs.
task migration cache decay timeout: 10 msecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Booting processor 1/1 eip 2000
Initializing CPU#1
masked ExtINT on CPU#1
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 1998.84 BogoMIPS
CPU: Before vendor init, caps: 0387fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0387fbff 00000000 00000000 00000000 CPU serial number disabled.
Intel machine check reporting enabled on CPU#1.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 CPU: Common caps: 0383fbff 00000000 00000000 00000000 CPU1: Intel Pentium III (Coppermine) stepping 0a
Total of 2 processors activated (3997.69 BogoMIPS).
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not
connecte
d.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 19.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................
IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
.... register #01: 00178011
....... : max redirection entries: 0017 ....... : PRQ implemented: 1 ....... : IO APIC version: 0011
.... register #02: 00000000
....... : arbitration: 00
.... IRQ redirection table:
NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
00 000 00 1 0 0 0 0 0 0 00 01 003 03 0 0 0 0 0 1 1 39 02 002 02 0 0 0 0 0 1 1 31 03 003 03 0 0 0 0 0 1 1 41 04 003 03 0 0 0 0 0 1 1 49 05 003 03 1 1 0 1 0 1 1 51 06 003 03 0 0 0 0 0 1 1 59 07 003 03 0 0 0 0 0 1 1 61 08 003 03 0 0 0 0 0 1 1 69 09 003 03 0 0 0 0 0 1 1 71 0a 003 03 1 1 0 1 0 1 1 79 0b 003 03 1 1 0 1 0 1 1 81 0c 003 03 0 0 0 0 0 1 1 89 0d 003 03 0 0 0 0 0 1 1 91 0e 003 03 0 0 0 0 0 1 1 99 0f 003 03 0 0 0 0 0 1 1 A1 10 000 00 1 0 0 0 0 0 0 00 11 000 00 1 0 0 0 0 0 0 00 12 000 00 1 0 0 0 0 0 0 00 13 000 00 1 0 0 0 0 0 0 00 14 000 00 1 0 0 0 0 0 0 00 15 000 00 1 0 0 0 0 0 0 00 16 000 00 1 0 0 0 0 0 0 00 17 000 00 1 0 0 0 0 0 0 00
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ5 -> 0:5
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ9 -> 0:9
IRQ10 -> 0:10
IRQ11 -> 0:11
IRQ12 -> 0:12
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1002.2517 MHz.
..... host bus clock speed is 133.6329 MHz.
cpu: 0, clocks: 1336329, slice: 445443 CPU0<T0:1336320,T1:890864,D:13,S:445443,C:1336329>
cpu: 1, clocks: 1336329, slice: 445443 CPU1<T0:1336320,T1:445424,D:10,S:445443,C:1336329>
checking TSC synchronization across CPUs: passed.migration_task 0 on cpu=0migration_task 1 on cpu=1
mtrr: your CPUs had inconsistent fixed MTRR settings
mtrr: your CPUs had inconsistent variable MTRR settings
mtrr: probably your BIOS does not setup all CPUs
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket
PCI: PCI BIOS revision 2.10 entry at 0xfb2c0, last bus=1
PCI: Using configuration type 1
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device foundusb.c: registered new driver hub
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router VIA [1106/0686] at 00:07.0PCI->APIC IRQ transform: (B0,I7,P3) -> 5PCI->APIC IRQ transform: (B0,I7,P3) -> 5PCI->APIC IRQ transform: (B0,I14,P0) -> 10PCI->APIC IRQ transform: (B0,I16,P0) -> 11PCI->APIC IRQ transform: (B1,I0,P0) -> 10
Starting kswapd
highmem bounce pool size: 64 pages
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec: init pool 0, 1 entries, 12 bytes
biovec: init pool 1, 4 entries, 48 bytes
biovec: init pool 2, 16 entries, 192 bytes
biovec: init pool 3, 64 entries, 768 bytes
biovec: init pool 4, 128 entries, 1536 bytes
biovec: init pool 5, 256 entries, 3072 bytes
Installing knfsd (copyright (C) 1996 [email protected]).
PCI: Enabling Via external APIC routing
parport0: PC-style at 0x3bc [PCSPP(,...)]parport_pc: Via 686A parallel port: io=0x3BC
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP e
nabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
lp0: using parport0 (polling).
block: 256 slots per queue, batch=32
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
ATA/ATAPI driver v7.0.0
ATA: system bus speed 33MHz
ATA: VIA Technologies, Inc. Bus Master IDE (1106:0571) on PCI slot 00:07.1
ATA: chipset rev.: 6
ATA: non-legacy mode: IRQ probe delayedVP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:piohda: IC35L080AVVA07-0, ATA DISK drive
hdc: 40X CD-ROM, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 160836480 sectors w/1863KiB Cache, CHS=159560/16/63, UDMA(33)
hdc: ATAPI 40X CD-ROM drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Partition check:
hda: [PTBL] [10011/255/63] hda1 hda2uhci.c: USB Universal Host Controller Interface driver v1.1 uhci.c: USB UHCI at I/O 0xd400, IRQ 5hcd.c: new USB bus registered, assigned bus number 1hub.c: USB hub found at /hub.c: 2 ports detecteduhci.c: USB UHCI at I/O 0xd800, IRQ 5hcd.c: new USB bus registered, assigned bus number 2hub.c: USB hub found at /hub.c: 2 ports detectedusb.c: registered new driver hidhid-core.c: v1.31:USB HID core driver
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP: Hash tables configured (established 262144 bind 65536) ip_conntrack version 2.0 (8192 buckets, 65536 max) - 292 bytes per conntrackip_tables: (C) 2000-2002 Netfilter core teamarp_tables: (C) 2002 David S. Miller
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
found reiserfs format "3.6" with standard journalhub.c: new USB device 00:07.2-1, assigned address 2hid-core.c: ctrl urb status -32 receivedinput.c: calling /sbin/hotplug input [HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ACTION
=add PRODUCT=3/45e/40/121 NAME=Microsoft Microsoft Wheel Mouse Optical<AE>] input.c: hotplug returned -2
input,hiddev0: USB HID v1.00 Mouse [Microsoft Microsoft Wheel Mouse Optical<AE>] on us
b-00:07.2-1
Reiserfs journal params: device 03:02, size 8192, journal first block 18, max trans le
n 1024, max batch 900, max commit age 30, max trans age 30
reiserfs: checking transaction log (ide0(3,2)) for (ide0(3,2))
reiserfs: replayed 29 transactions in 0 seconds
Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly.
Freeing unused kernel memory: 228k freed
Adding Swap: 1951856k swap-space (priority -1)
Creative EMU10K1 PCI Audio Driver, version 0.16, 23:07:13 May 11 2002
emu10k1: EMU10K1 rev 7 model 0x8061 found, IO at 0xdc00-0xdc1f, IRQ 10ac97_codec: AC97 Audio codec, id: 0x8384:0x7608 (SigmaTel STAC9708) fealnx.c:v2.51 Nov-17-2001
eth0: 100/10M Ethernet PCI Adapter at 0xe400, 00:02:44:20:58:f1, IRQ 11. Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 816M
agpgart: Detected Via Apollo Pro chipset
agpgart: AGP aperture is 256M @ 0xc0000000
[drm] AGP 0.99 on VIA Apollo Pro @ 0xc0000000 256MB
[drm] Initialized mga 3.0.2 20010321 on minor 0
Thanks to all who can help me and those who read my SOS.
-pol-
Unable to handle kernel NULL pointer dereference at virtual address 00000018
printing eip: 00000018
*pde = 00000000
Oops = 0000
CPU = 1
EIP = 0010:[<00000018>] Not tainted
EFLAGS = 00010246
ttyS00 at 0x02f8 (irq = 4) is a 16550A
esi: c2018000 edi: c01051c0 ebp: 00000000 esp: c2019fb0
Stack: ttyS01 at 0x02f8 (irq = 3) is a 16550A c0105252 00000002 00000000 00000000 c02c3f16 00000bfc 00000bfc 00000286 fffff404 00000292 c02a5e40 00000000 00000001 00000286 00000001 0000002a c01171c8 c031f9ca 00000000 c01170de Call trace: [<c0105252>] [<c01171c8>] [<c01170de>] Code: Bad EIP value.
<0> Kernel Panic: Attempted to kill the idle task! In idle task - Not syncing
Quoted 11 lines · Tomas Szepe
Alright, another one.
$ ./fmtcl2.pl /usr/src/ChangeLog-2.5.14Summary of changes from v2.5.13 to v2.5.14
============================================o kd.h ([email protected]) o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes. ([email protected]) o mm/memory.c: ([email protected]) o suppress allocation warnings for radix-tree allocations ([email protected])
<snip>
Ah - thats it!
Quoted 9 lines · Dave Gilbert (Home)
Quoted 7 lines · Tomas Szepe
Alright, another one.
$ ./fmtcl2.pl /usr/src/ChangeLog-2.5.14Summary of changes from v2.5.13 to v2.5.14
============================================
Quoted 8 lines
Quoted 4 lines
o kd.h ([email protected]) o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes. ([email protected]) o mm/memory.c: ([email protected]) o suppress allocation warnings for radix-tree allocations ([email protected])<snip>
Ah - thats it!
Not quite. In mutt, it looks like this:
o kd.h
+([email protected])
o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel +changes. ([email protected])
o mm/memory.c:
+([email protected])
o suppress allocation warnings for radix-tree allocations +([email protected])
o radix-tree locking fix
+([email protected])
o Allow truncate to discard unmapped buffers +([email protected])
o decouple swapper_space treatment from other address_spaces
NOT easy to read.
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 32 lines
Quoted 7 lines
Quoted 7 lines
Alright, another one.
$ ./fmtcl2.pl /usr/src/ChangeLog-2.5.14Summary of changes from v2.5.13 to v2.5.14
============================================Quoted 8 lines
Quoted 4 lines
o kd.h ([email protected]) o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes. ([email protected]) o mm/memory.c: ([email protected]) o suppress allocation warnings for radix-tree allocations ([email protected])<snip>
Ah - thats it!
Not quite. In mutt, it looks like this:
o
kd.h
+([email protected])
o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel +changes. ([email protected])
omm/memory.c:
+([email protected])
o suppress allocation warnings for radix-tree allocations +([email protected])
o radix-tree locking fix
+([email protected])
o Allow truncate to discard unmapped buffers +([email protected])
o decoupleswapper_spacetreatment from otheraddress_spaces
Quoted 1 line
NOT easy to read.
Hmm, now that's true.
How's this for another try? (logwidth = 38, adjustable per taste) Myself I'd say this is crap and a nice 140-char xterm will do much better (you're going to see "long" lines anyway, look at the NTFS entry below).
$ ./fmtcl3.pl /usr/src/ChangeLog-2.5.14
Summary of changes from v2.5.13 to v2.5.14
============================================
o kd.h ([email protected])
o NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes.
([email protected]) o mm/memory.c: ([email protected]) o suppress allocation warnings for radix-tree allocations ([email protected]) o radix-tree locking fix ([email protected]) o Allow truncate to discard unmapped buffers ([email protected]) o decouple swapper_space treatment from other address_spaces ([email protected]) o Allow ext3 pages to be written back by VM pressure ([email protected]) o Fix SMP race in truncate ([email protected]) o handle concurrent block_write_full_page and set_page_dirty ([email protected]) o Fix PG_launder ([email protected]) o Fix concurrent writepage and readpage ([email protected])
<snip>
#!/usr/bin/perl -w
use strict;
my $logwidth = 38;
my %people = ();
my $addr = "";
my @cur = ();
sub append_item()
{
if (!$addr) { return; }
if (!$people{$addr}) { @{$people{$addr}} = (); }
push @{$people{$addr}}, [@cur];
@cur = ();
}sub print_terse_items($)
{
my @items = @{$people{$_[0]}};
while ($_ = shift @items) {
my $len = length(@$_[0]);
my $fill = ($len <= $logwidth) ? (" " x ($logwidth - $len + 1)) : ("\n" . (" " x ($logwidth + 1)));
print "@$_[0]$fill($_[0])\n";
}
}while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
# strip whitespace at start & end
s/^\s*(.*)\s*$/$1/;
# kill starting 'PATCH' captions
s/\s*\[?PATCH\]?\s*//;
# insert a bullet
s/^(.*)$/o $1/;
# Only save 1 line
if (scalar(@cur) < 1) { push @cur, "$_"; }
} else {
# Header information
print;
}
}append_item();
foreach $addr (sort keys %people) {
print_terse_items($addr);
}Quoted 4 lines · Tomas Szepe
How's this for another try? (logwidth = 38, adjustable per taste) Myself I'd say this is crap and a nice 140-char xterm will do much better (you're going to see "long" lines anyway, look at the NTFS entry below).
heh. I agree with the first bit of your second line there 8)
However, Marcus Alanen has posted something (in "original mode") that looks a lot nicer. In fact, its quite close to my release note formatting, see:
http://lists.arm.linux.org.uk/pipermail/linux-arm-announce/2002-April/000186.html
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
In case you don't know, there is piles of information available from BK about the changes made, you can make the reposrting be as verbose or as terse as you want. You can also restrict output to a particular user or expression.
Examples:
bk changes # gets you the default output, time sorted changesets
bk changes -v # same thing but includes file comments as well
BK reporting is keyed off of somehing called "dspecs" (for data specification). They are a lot like a primitive printf format. The default dspec for changes is
":DPN:@:I:, :Dy:-:Dm:-:Dd: :T::TZ:, :P:$if(:HT:){@:HT:}\n$each(:C:){ (:C:)\n}$each(:TAG:){ TAG: (:TAG:)\n}\n"You can use dspecs to dig out anything you want, see "bk help prs" to get the list of fields available. A field is like :P: which is replaced with the name of the person who made the checkin.
If you want to restrict output to a particular programmer, you can do stuff
-d'$if(:P:=torvalds){:P:@nospam.com}'I suspect that once you figure out how you want things to look, we can make dspecs which do it, and if not, we'll fix the reporting engine.
Just as an FYI, bkweb is really little more than some gigantic dspecs.
Signature · 2 lines
--- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
Quoted 5 lines
BK reporting is keyed off of somehing called "dspecs" (for data specification). They are a lot like a primitive printf format. The default dspec for changes is
":DPN:@:I:, :Dy:-:Dm:-:Dd: :T::TZ:, :P:$if(:HT:){@:HT:}\n$each(:C:){ (:C:)\n}$each(:TAG:){ TAG: (:TAG:)\n}\n"
Nice!
The idea with the perl script was, I reckon, to merely provide a tool thru which people could pipe the standard linux 2.5 ChangeLog and get an output that suits their own eye. Something like
$ wget -q ftp://ftp.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.16 $ cat ChangeLog-2.5.16| CMODE=1 /usr/src/linux/scripts/cl.pl| less
T.
Quoted 6 lines · Tomas Szepe
Quoted 5 lines
BK reporting is keyed off of somehing called "dspecs" (for data specification). They are a lot like a primitive printf format. The default dspec for changes is
":DPN:@:I:, :Dy:-:Dm:-:Dd: :T::TZ:, :P:$if(:HT:){@:HT:}\n$each(:C:){ (:C:)\n}$each(:TAG:){ TAG: (:TAG:)\n}\n"
Quoted 8 lines
Nice!
The idea with the perl script was, I reckon, to merely provide a tool thru which people could pipe the standard linux 2.5 ChangeLog and get an output that suits their own eye. Something like
$ wget -q ftp://ftp.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.16 $ cat ChangeLog-2.5.16| CMODE=1 /usr/src/linux/scripts/cl.pl| less
That's cool by me, perl is the language of choice here. If I could have embedded perl into the dspecs, I would have :) If you get to the point where you want more information from the changelogs than is there, just remember there is probably a way to get it easily.
Cheers,
Signature · 2 lines
--- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
In article <[email protected]>,
Quoted 3 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Hmm..
You're definitely right about the BK version numbers, since those are meaningless anyway (they are only meaningful within one BK tree, and they change over time when you merge different trees together.
The 2.4.x changelogs seem to be done with my "release" scripts, but additionally they don't have the same kind of detailed information that the 2.5.x kernels have, and yes, the result is fairly ugly.
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
I'll remove the date/BK ID thing, so that my unsorted changelogs would look like the appended thing. But yes, sorting (and merging) by author would probably be a good thing. (My BK changelog scripts can also add markers around the actual log message, to make parsing easier).
Linus
-----
Summary of changes from v2.5.13 to v2.5.14
============================================
<[email protected]>
A bunch of fixes.
<[email protected]>
Pmac updates
<[email protected]>
Some more small fixes.
<[email protected]>
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in scsi_debug.c:
<[email protected]>
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a spot is all...
<[email protected]>
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
...
Quoted 12 lines · Linus Torvalds
In article <[email protected]>,
Quoted 3 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Hmm..
You're definitely right about the BK version numbers, since those are meaningless anyway (they are only meaningful within one BK tree, and they change over time when you merge different trees together.
Quoted 6 lines
The 2.4.x changelogs seem to be done with my "release" scripts, but additionally they don't have the same kind of detailed information that the 2.5.x kernels have, and yes, the result is fairly ugly.
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
I like the current 2.5.x format. It gives a quick overview so I can choose which changesets interest me and I usually go into bk revtool afterwards and have a look at the actual code in the changesets of interest...
And I agree that the cut down 2.4.x changelog is not very useful... I always have to do a bk changes on the 2.4.x tree to get the full details.
Best regards,
Anton
Quoted 47 lines
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
I'll remove the date/BK ID thing, so that my unsorted changelogs would look like the appended thing. But yes, sorting (and merging) by author would probably be a good thing. (My BK changelog scripts can also add markers around the actual log message, to make parsing easier).
Linus
-----
Summary of changes from v2.5.13 to v2.5.14
============================================<[email protected]>
A bunch of fixes.<[email protected]>
Pmac updates<[email protected]>
Some more small fixes.<[email protected]>
[PATCH] 2.5.13: vmalloc link failureThe following patch fixes this, and also fixes the similar problem in
scsi_debug.c:<[email protected]>
[PATCH]in_ntoalink failureNothing serious. Whoever it was that did that global replacemissed a spot is all...
<[email protected]>
[PATCH]change_floppy()fixNeeded both in 2.4 and 2.5
...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Signature · 5 lines
"I've not lost my mind. It's backed up on tape somewhere." - Unknown -- Anton Altaparmakov <aia21 at cantab.net> (replace at with @) Linux NTFS Maintainer / IRC: #ntfs on irc.openprojects.net WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
HPFS and linux-2.4.18
In reply to Linus TorvaldsHi,
One of my friend found posibility bug.
When he trying to mount a OS/2 filesystem [hpfs] he take back "Segmentation fault" error [see Attachment 1]
I check difference between 2.4.18 and 2.4.6 [which works fine] [diff in Attachment 2]
When I apply difference to 2.4.18 mount works OK.
Can anyone check this?
Thanx.
Signature · 2 lines
{Wojciech 'Sas' Cieciwa} {Member of PLD Team }
{e-mail: [email protected], http://www2.zarz.agh.edu.pl/~cieciwa}maj 11 00:03:34 <aflinta> [root@warp root]# mount -t hpfs /dev/hda3 /mnt/os2/
maj 11 00:03:34 <aflinta> Segmentation fault
maj 11 00:04:28 <aflinta> May 10 23:39:56 warp (aflinta-16590): starting (version 1.0.9), pid 16590 user 'aflinta'
maj 11 00:04:29 <aflinta> May 10 23:58:00 warp kernel: invalid operand: 0000
maj 11 00:04:29 <aflinta> May 10 23:58:00 warp kernel: CPU: 0
maj 11 00:04:29 <aflinta> May 10 23:58:00 warp kernel: EIP: 0010:[grow_buffers+80/252] Tainted: P
maj 11 00:04:29 <aflinta> May 10 23:58:00 warp kernel: EFLAGS: 00010286
maj 11 00:04:29 <aflinta> May 10 23:58:00 warp kernel: eax: fffffe00 ebx: 00000003 ecx: 00000200 edx: 00000000 maj 11 00:04:31 <aflinta> May 10 23:58:00 warp kernel: esi: 00000000 edi: 00000303 ebp: 00000000 esp: cae93dc8
maj 11 00:04:33 <aflinta> May 10 23:58:00 warp kernel: ds: 0018 es: 0018 ss: 0018
maj 11 00:04:35 <aflinta> May 10 23:58:00 warp kernel: Process mount (pid: 16678, stackpage=cae93000)
maj 11 00:04:37 <aflinta> May 10 23:58:00 warp kernel: Stack: 00000303 00000000 00000000 00000000 00002360 c0132b9b 00000303 00000000
maj 11 00:04:42 <aflinta> May 10 23:58:00 warp kernel: 00000000 cae93e60 c7b4cc00 cff11ae0 c0132d78 00000303 00000000 00000000
maj 11 00:04:45 <aflinta> May 10 23:58:00 warp kernel: cff11ae0 d4ed653c 00000303 00000000 00000000 00000000 d4edf39d c7b4cc00
maj 11 00:04:48 <aflinta> May 10 23:58:00 warp kernel: Call Trace: [getblk+39/64] [bread+24/112] [reiserfs:__insmod_reiserfs_S.bss_L6624+72692252/301754548] [reiserfs:__insmod_reiserfs_S.bss_L6624+72728701/301718099] [insert_super+63/68]
maj 11 00:04:52 <aflinta> May 10 23:58:00 warp kernel: [reiserfs:__insmod_reiserfs_S.bss_L6624+72745000/301701800] [get_sb_bdev+540/644] [reiserfs:__insmod_reiserfs_S.bss_L6624+72745000/301701800] [set_devname+39/84] [do_kern_mount+167/308] [reiserfs:__insmod_reiserfs_S.bss_L6624+72745000/301701800]
maj 11 00:04:56 <aflinta> May 10 23:58:00 warp kernel: [do_add_mount+32/472] [do_mount+674/816] [copy_mount_options+77/156] [sys_mount+132/196] [system_call+51/56]
maj 11 00:04:59 <aflinta> May 10 23:58:00 warp kernel:
maj 11 00:05:01 <aflinta> May 10 23:58:00 warp kernel: Code: 0f 0b 89 fa b9 ff ff ff ff b6 00 41 8b 44 24 20 d3 e0 3d ff
fs/hpfs/buffer.c +12 -6
@@ -122,9 +122,12 @@void *hpfs_map_sector (struct super_block *s,unsigned secno,struct buffer_head **bhp,int ahead) { +kdev_t dev = s->s_dev;struct buffer_head *bh; - *bhp = bh =sb_bread (s, secno); +if (!ahead || secno + ahead >= s->s_hpfs_fs_size) + *bhp = bh =bread (dev, secno,512 ); +else *bhp = bh =bread (dev, secno,512 );if (bh !=NULL )return bh->b_data;else {
@@ -140,7 +143,7 @@struct buffer_head *bh;/*return hpfs_map_sector(s, secno, bhp, 0);*/ -if ((*bhp = bh =sb_getblk (s, secno)) !=NULL ) { +if ((*bhp = bh =getblk (s->s_dev, secno,512 )) !=NULL ) {if (!buffer_uptodate (bh))wait_on_buffer (bh);mark_buffer_uptodate (bh,1 );return bh->b_data;
@@ -155,6 +158,7 @@void *hpfs_map_4sectors (struct super_block *s,unsigned secno,struct quad_buffer_head *qbh,int ahead) { +kdev_t dev = s->s_dev;struct buffer_head *bh;char *data;
@@ -169,22 +173,24 @@ goto bail; } - qbh->bh[0 ] = bh =sb_bread (s, secno); +if (!ahead || secno +4 + ahead > s->s_hpfs_fs_size) + qbh->bh[0 ] = bh =bread (dev, secno,512 ); +else qbh->bh[0 ] = bh =bread (dev, secno,512 );if (!bh) goto bail0;memcpy (data, bh->b_data,512 ); - qbh->bh[1 ] = bh =sb_bread (s, secno +1 ); + qbh->bh[1 ] = bh =bread (dev, secno +1 ,512 );if (!bh) goto bail1;memcpy (data +512 , bh->b_data,512 ); - qbh->bh[2 ] = bh =sb_bread (s, secno +2 ); + qbh->bh[2 ] = bh =bread (dev, secno +2 ,512 );if (!bh) goto bail2;memcpy (data +2 *512 , bh->b_data,512 ); - qbh->bh[3 ] = bh =sb_bread (s, secno +3 ); + qbh->bh[3 ] = bh =bread (dev, secno +3 ,512 );if (!bh) goto bail3;memcpy (data +3 *512 , bh->b_data,512 );
fs/hpfs/file.c +1 -3
@@ -11,8 +11,6 @@#include <linux/smp_lock.h> #include "hpfs_fn.h" -#define BLOCKS (size) (((size) + 511) >> 9) -/* HUH? */ int hpfs_open (struct inode *i,struct file *f) {
@@ -48,7 +46,7 @@unsigned n, disk_secno;struct fnode *fnode;struct buffer_head *bh; -if (BLOCKS (inode->u.hpfs_i.mmu_private) <= file_secno)return 0 ; +if (((inode->i_size +511 ) >>9 ) <= file_secno)return 0 ; n = file_secno - inode->i_hpfs_file_sec;if (n < inode->i_hpfs_n_secs)return inode->i_hpfs_disk_sec + n;if (!(fnode =hpfs_map_fnode (inode->i_sb, inode->i_ino, &bh)))return 0 ;
fs/hpfs/inode.c +2 -5
@@ -12,7 +12,6 @@static struct file_operations hpfs_file_ops = { - llseek: generic_file_llseek, read: generic_file_read, write: hpfs_file_write, mmap: generic_file_mmap,
@@ -300,12 +299,10 @@ {struct inode *inode = dentry->d_inode;int error; -if ((attr->ia_valid &ATTR_SIZE ) && attr->ia_size > inode->i_size) -return -EINVAL ; +if ((attr->ia_valid &ATTR_SIZE ) && attr->ia_size > inode->i_size)return -EINVAL ;if (inode->i_sb->s_hpfs_root == inode->i_ino)return -EINVAL ;if ((error =inode_change_ok (inode, attr)))return error; - error =inode_setattr (inode, attr); -if (error)return error; +inode_setattr (inode, attr);hpfs_write_inode (inode);return 0 ; }
fs/hpfs/super.c +1 -1
@@ -3,7 +3,7 @@* * Mikulas Patocka ([email protected]), 1998-1999 * -* mounting, unmounting, error handling +* mouning, unmounting, error handling */ #include <linux/string.h>
Quoted 7 lines · Linus Torvalds
The 2.4.x changelogs seem to be done with my "release" scripts, but additionally they don't have the same kind of detailed information that the 2.5.x kernels have, and yes, the result is fairly ugly.
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
Sorting might help a tiny bit...
I thought about this, when I saw the 2.4.x changelogs. Typical GNU projects seem to have a pretty decent system going -- there is a detailed ChangeLog, and an abbreviated high level summary NEWS, for each release.
So IMO a good solution would not be to change the format of the BK changelogs, but to supplement them with the type of summary that looks like the "old Linus" changelogs, i.e. a summary generated by a human:
Martin Dalecki - IDE updates
Al Viro - VFS updates
Andi Kleen - x86-64 update
...
The central complaint about BK changelogs seems to be that they are too verbose for a quick scan of what a new kernel version contains. (while at the same time lauding the additional information BK provides over the old changelogs)
Marcelo gave it a good shot, by (it appears) generating a summary by taking the first line of each cset. The better solution would be a human-generated NEWS file.
Jeff
Linus,
It would help if the some of the people that used BK would bother to be more descriptive about the stuff they send.
I will have some patches for 2.5.x from my personal stash as soon as i get the bugs worked out of them...
Matthew D. Pitts.
----- Original Message -----
From: "Linus Torvalds" <[email protected]>
To: <[email protected]>
Sent: Sunday, May 12, 2002 4:06 PM
Subject: Re: Changelogs on kernel.org
Quoted 41 lines
In article <[email protected]>,
Quoted 3 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Hmm..
You're definitely right about the BK version numbers, since those are meaningless anyway (they are only meaningful within one BK tree, and they change over time when you merge different trees together.
The 2.4.x changelogs seem to be done with my "release" scripts, but additionally they don't have the same kind of detailed information that the 2.5.x kernels have, and yes, the result is fairly ugly.
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
I'll remove the date/BK ID thing, so that my unsorted changelogs would look like the appended thing. But yes, sorting (and merging) by author would probably be a good thing. (My BK changelog scripts can also add markers around the actual log message, to make parsing easier).
Linus
-----
Summary of changes from v2.5.13 to v2.5.14
============================================<[email protected]>
A bunch of fixes.<[email protected]>
Pmac updates
Quoted 7 lines
<[email protected]>
Some more small fixes.<[email protected]>
[PATCH] 2.5.13: vmalloc link failureThe following patch fixes this, and also fixes the similar problem
in
Quoted 6 lines
scsi_debug.c:<[email protected]>
[PATCH]in_ntoalink failureNothing serious. Whoever it was that did that global replacemissed
a
Quoted 12 lines
spot is all...
<[email protected]>
[PATCH]change_floppy()fixNeeded both in 2.4 and 2.5
...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 1 line · * Linus Torvalds ([email protected]) wrote:
<snip>
Quoted 2 lines
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
I used to read the hand written changelogs, they only used to be a half page or so; neatly summerising stuff into one line; I can't be bothered with the full changelogs - they are obviously useful; but the hand written half pages are still a lot easier at a quick glance to see if there is anything that affects you.
Perhaps insisting that each check in message includes a single line (sub 60 chars) description; could turn those into description : name and remove dupes?
Dave
---------------- Have a happy GNU millennium! ----------------------
/ Dr. David Alan Gilbert | Running GNU/Linux on Alpha,68K| Happy \ \ gro.gilbert @ treblig.org | MIPS,x86,ARM, SPARC and HP-PA | In Hex / \ _________________________|_____ http://www.treblig.org |_______/
Quoted 6 lines · Dr. David Alan Gilbert
I used to read the hand written changelogs, they only used to be a half page or so; neatly summerising stuff into one line; I can't be bothered with the full changelogs - they are obviously useful; but the hand written half pages are still a lot easier at a quick glance to see if there is anything that affects you.
Yeah, I know. Some people like the long ones, though, and they _are_ useful if you want to get a more detailed view.
I definitely don't want to maintain a separate set of short logs, but the answer may be to just do both: have the existing long log (with no merging of changesets, so that people see the actual commit boundaries), and a separate "short" version that also merges the thing.
As an example, if the long version looks like this:
<[email protected]>
A bunch of fixes.
<[email protected]>
Pmac updates
<[email protected]>
Some more small fixes.
<[email protected]>
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in scsi_debug.c:
...
The short version could look like
[email protected]:
A bunch of fixes.
Pmac updates
Some more small fixes.
[email protected]:
[PATCH] 2.5.13: vmalloc link failure
...
ie only take the first line, and merge entries with the same author.
Perl people, stand up.
Linus
Quoted 8 lines · Linus Torvalds
As an example, if the long version looks like this:
<[email protected]>
A bunch of fixes.<[email protected]>
Pmac updates
...
Quoted 12 lines
<[email protected]> [PATCH] 2.5.13: vmalloc link failure The following patch fixes this, and also fixes the similar problem in scsi_debug.c: ...The short version could look like
[email protected]:
A bunch of fixes.
Pmac updates
...
Quoted 8 lines
[email protected]: [PATCH] 2.5.13: vmalloc link failure ...ie only take the first line, and merge entries with the same author.
Perl people, stand up.
I sent a first version of a Perl program to Linus, a copy of the program is available at
http://mandree.home.pages.de/linux/kernel/lk-changelog.pl
(Yes I know the first $Log:$ entry is missing.)
It does the above, plus it has a built-in table to write a name along with the e-mail address, so it writes something like this:
James Simmons <[email protected]>:
A bunch of fixes.
Pmac updates
Some more small fixes.
Russell King <[email protected]>:
[PATCH] 2.5.13: vmalloc link failure
Of course, if BK ChangeLogs started with a 60 character summary line as has been suggested, that'd be very useful. Something for the BK-with-linux-kernel-HOWTO perhaps?
I can imagine letting the script look up the addresses by means of Roland Rosenfeld's Little Brother's Data Base at a later time.
(http://www.spinnaker.de/lbdb/)
Signature · 1 line
Matthias Andree
Quoted 5 lines · Matthias Andree
I sent a first version of a Perl program to Linus, a copy of the program is available at
http://mandree.home.pages.de/linux/kernel/lk-changelog.pl
(Yes I know the first $Log:$ entry is missing.)
Please make the following change to the patch, otherwise email address (or other things within a <>) in the body of the change message are improperly picked up.
Other than that minor problem, looks very nice.
thanks,
greg k-h
lk-changelog.pl renamed from lk-changelog.pl~ +1 -1
@@ -81,7 +81,7 @@ while(<>) { chomp; - if (/<(.*?)>/) { + if (/^<(.*?)>/) { $author = $1; $first = 1; } elsif ($first) {
Quoted 6 lines
[Linus Torvalds <[email protected]>, May-12 2002, Sun, 18:56 -0700]
As an example, if the long version looks like this:
...
The short version could look like
...
How's this? (script attached)
$ ./fmtcl.pl /usr/src/ChangeLog-2.5.15
Summary of changes from v2.5.14 to v2.5.15
============================================
-- Terse ChangeLog starts here --
<[email protected]>
o - remove spurious spaces and tabs at end of lines
<[email protected]>
o net/ipv4/arp.c:
<[email protected]>
o NTFS: Fix compilation on 2.5.14 ({set_,clear_,}buffer_async was renamed
<[email protected]>
o [PATCH] Fix: writing to the swap space
<[email protected]>
o [PATCH] acenic driver and 867 MHz G4 sound problems
<[email protected]>
o [PATCH] tcq initialization fix
<[email protected]>
o copy_mm fix:
o [PATCH] 2.5.14 IDE 55 o [PATCH] IDE 58 o [PATCH] 2.5.14 IDE 57 o [PATCH] 2.5.14 IDE 56 o [PATCH] 2.5.14 IDE 59
o [PATCH] capabilities for mtrr driver. o [PATCH] region handling cleanup o [PATCH] region handling cleanup o [PATCH] region handling cleanup o [PATCH] region handling cleanup o [PATCH] CREDITS update o [PATCH] check various return codes in advantechwdt. o [PATCH] IA64 ZX1 AGPGart support. o [PATCH] region handling cleanup o [PATCH] typo. o [PATCH] region handling cleanup o [PATCH] documentation for Cyrix IRQ routing o [PATCH] sonypi update o [PATCH] VIA quirk update. o [PATCH] region handling cleanup o [PATCH] prefetching too far in mem copies o [PATCH] update NBD URL o [PATCH] DMI update. o [PATCH] motioneye driver update. o [PATCH] typo in z2ram driver o [PATCH] simplify wdt285 copying. o [PATCH] dmasound update. o [PATCH] PNPBIOS / floppy conflict. o [PATCH] NCR5380 update. o [PATCH] list macro conversion. o [PATCH] swap file missing error check o [PATCH] HP ZX1 AGP/DRM support. o [PATCH] ptrace bug
o net/core/neighbour.c: Delete ancient ASSERT_WL debugging. o Sparc64: Implement pfn_pte. o Sparc64 updates: o Sparc64: Fix thinko in page_to_pfn o Sparc64: Update ioctl32 for bluetooth updates. o soft-fp fix: o Sparc64: Fix pfn_foo macros and add descriptive commentary o Sparc64: Make use of USE_STANDARD_AS_RULE. o SLAB: When using get_user on kernel pointers, enter KERNEL_DS. o Soft-fp fix: o Sparc64: Enter KERNEL_DS when invoking do_sigaltstack with o drivers/usb/net/rtl8150.c: Include linux/init.h o Sparc64: Make pcibios_init a subsys_initcall. o Sparc64: Keep totalram_pages equal to num_physpages. o Sparc: Kill references to buffermem_pages. o asm-sparc64/thread_info.h: Include asm/page.h even if __ASSEMBLY__
o [PATCH] PATCH ehci -- interrupt xfer requeue o [PATCH] USB usbnet driver update o [PATCH] PATCH 2.5.14 -- ehci misc fixes
o [PATCH] osst update o [PATCH] sg update o [PATCH] aha1542 update
o add back NCR53c810 PCI quirk code from davej that was lost in the merge o hand merge of davej's x86 pci-pc janitor work o PCI hotplug update o USB pl2303 driver o Move arch/i386/kernel/pci/ to arch/i386/pci/ o PCI hotplug drivers o USB Config.in and Makefile minor changes o USB ohci driver update o USB o moved the pci_alloc_consistent() and pci_free_consistent() functions back o PCI Hotplug core o IBM PCI Hotplug driver
<[email protected]>
o Tigon3 fix:
<[email protected]>
o [PATCH] small filemap.c/pagemap.h cleanups
<[email protected]>
o [PATCH] suser() -> capable() checks
o [PATCH] Fix missing #includes o [PATCH] fixes for PCI reorg changes o [PATCH] 2.5.14: New PCI allocation code (alpha, arm, parisc) [2/2] o [PATCH] 2.5.14: New PCI allocation code (alpha, arm, parisc) [1/2]
<[email protected]>
o Tigon3: Handle Netgear GA302T correctly.
o Move the IPv6 symbols into the ipv6 module o Documentation/kbuild/makefiles.txt polish o drivers/net/Makefile cleanup o Link drivers/net/* from drivers/net/Makefile o ISDN: CAPI cleanup: register/release o ISDN: CAPI cleanup o ISDN: CAPI maintain driver MOD_USE_COUNT o ISDN: CAPI: use <linux/list.h> lists o ISDN: export callbacks directly o ISDN: CAPI: alloc struct capi_ctr dynamically o ISDN: CAPI: alloc struct capi_appl dynamically o ISDN: CAPI remove NCCI up/down notification o ISDN: CAPI fix new "ncci up" o Fix compile time warning in serial.c o Fix cut'n'paste error in drivers/message/Makefile o Cleanup drivers/pcmcia/Makefile o Remove PCMCIA backwards compatibility rule. o Link drivers/char/* from drivers/char/Makefile o Cleanup drivers/fusion/* build o Cleanup drivers/pcmcia/Makefile part 2 o Fix the Makefile cleanups
<[email protected]>
o Netfilter ipt_ULOG fix:
o Move arch/i386/kernel/pci-*.c to arch/i386/kernel/pci/; prepare for further cleanups o Further split/cleanup of x86 PCI code o Split drivers/pci/pci.c into smaller, bite-size chunks o Further break-up-age o don't enable debug in arch/i386/kernel/pci/ o Fix NUMA compile after PCI cleanup o Move arch/i386/kernel/pci/ to arch/i386/pci/ o PCI Update: Fix oops on boot w/ ACPI enabled o Re-add check for valid acpi routing information, instead of assuming it works
o [PATCH] PATCH - kNFSd in 2.5.14 - Tidy up comments in expfs.c o [PATCH] PATCH - kNFSd in 2.5.14 - Two small changes to nfsd/nfssvc.c o [PATCH] PATCH - kNFSd - Remove flowcontrol problems with lockd/tcp o [PATCH] PATCH - kNFSd in 2.5.14 - Add a kernel_lock in d_splice_alias o [PATCH] PATCH - kNFSd/FAT in 2.5.14 - Add export_operations support for FAT o [PATCH] PATCH - kNFSd/ext3 in 2.5.14 - export_operations support for ext3 o [PATCH] PATHC - kNFSd/reiserfs in 2.5.14 - Convert reisferfs to use export_operations
<[email protected]>
o [PATCH] USB printer freeing minors in probe error path
o [PATCH] usage count handling during disconnect
<[email protected]>
o PPC32: add SIGURG to the list of signals ignored by default
o PPC32: add a subsys_initcall so pcibios_init gets called
<[email protected]>
o PPC32: Rename ppc_defs.h to asm-offsets.h to ease the transition to kbuild-2.5 later.
o Update the Config.help for ppc32. References to 486s and pentiums aren't
o Define pfn_to_page, page_to_pfn, pte_pfn, pfn_pte for ppc32. o PPC32: This changeset adds preemptible kernel support for ppc32 o PPC32: minor cosmetic changes, eliminate compile warnings o PPC32: fix serial clock for embedded EP405 board. o PPC32: remove some compiler warnings, xmon update o PPC32: powermac update from Ben Herrenschmidt. o [PATCH] fix drivers/pci/Makefile for PPC o [PATCH] fix drivers/scsi/sd.c for ppc32
<[email protected]>
o Sparc32 sun4c:
<[email protected]>
o IPV4: Add statistics for route cache GC monitoring.
<[email protected]>
o [PATCH] USE_STANDARD_AS_RULE in i386 arch Makefiles
o [PATCH] Directory Notification Fix
<[email protected]>
o [PATCH] Fix JFS file system corruption
<[email protected]>
o Re-apply Dave's VIA quirk update from 2.4.x
o Update kernel version
<[email protected]>
o Add SIGURG to list of ignore-by-default signals
o Fix makefile errors
o PPC32: Update Motorola LoPEC support to match recent changes. o PPC32: Minor cleanups to the i8259 and OpenPIC code. From myself and o PPC32: Modify the OpenPIC code to allow for all combinations of sense o PPC32: define some important magic constants. o PPC32: Modify openpic_get_irq() to call i8259_irq() for cascaded IRQs. This o Fix building of CONFIG_XMON && !CONFIG_MAGIC_SYSRQ
<[email protected]>
o [PATCH] NLS: Invalid koi8-ru return values
o [PATCH] NLS: Allow user to select 1:1 mapping
<[email protected]>
o Fix for the previous fix. hid->name is 128 bytes, not 64 bytes long.
o This fixes a possible buffer overflow in hid-core.c in case a
o [PATCH] m68k: atari updates [2/20] o [PATCH] m68k: AFFS update [1/20] o [PATCH] m68k: bitops update [3/20] o [PATCH] m68k: add cacheflush.h [4/20] o [PATCH] m68k: config.in update [5/20] o [PATCH] m68k: license updates [7/20] o [PATCH] m68k: hp300 update [8/20] o [PATCH] m68k: idle update [10/20] o [PATCH] m68k: remove hwclk_time/gettod [9/20] o [PATCH] m68k: add missing include [11/20] o [PATCH] m68k: Rename KTHREAD_SIZE [12/20] o [PATCH] m68k: math-emu updates [13/20] o [PATCH] m68k: rename p_pptr [14/20] o [PATCH] m68k: readd lost proc functions [15/20] o [PATCH] m68k: rlimits update [16/20] o [PATCH] m68k: seq_file fixes [17/20] o [PATCH] m68k: add tlbflush.h [18/20] o [PATCH] m68k: add show_trace/show_trace_task [19/20] o [PATCH] m68k: zorro updates [20/20] o [PATCH] m68k: driver updates [6/20]
-- Full ChangeLog starts here --
<[email protected]>
--------------------------------------------------------------
- remove spurious spaces and tabs at end of lines
- make sure if, while, for, switch has a space before the opening '('
- make sure no line has more than 80 chars
- move initializations to the declaration line where possible
- bitwise, logical and arithmetic operators have spaces before and after, improving readability of complex expressions
- remove uneeded () in returns
- other minor cleanups
<[email protected]>
--------------------------------------------------------------
net/ipv4/arp.c:
- htons cleanups
- remove duplicated code
- apply CodingStyle
--------------------------------------------------------------
NTFS: Fix compilation on 2.5.14 ({set_,clear_,}buffer_async was renamed
to {set_,clear_,}buffer_async_read).<[email protected]>
--------------------------------------------------------------
[PATCH] Fix: writing to the swap space
Ah. That's some left-over code. Reads will be OK, but writes will be unexpectedly asynchronous. Nothing in the kernel uses that function for writes so it didn't show up.
<[email protected]>
--------------------------------------------------------------
[PATCH] acenic driver and 867 MHz G4 sound problems
Fix acenic driver
<[email protected]>
--------------------------------------------------------------
[PATCH] tcq initialization fix
Transposed the last two arguments to memset, causing a slab poisoned kernel not to use tagging correctly... Brown paper bag stuff.
<[email protected]>
--------------------------------------------------------------
copy_mm fix:
- If dup_mmap fails we will try to destroy_context before init_new_context occurs. Platforms with non-trivial init_new_context can explode because of this. The fix is to invoke init_new_context before dup_mmap.
<[email protected]>
--------------------------------------------------------------
[PATCH] 2.5.14 IDE 55
- Update HPT374 driver carried over from 2.4.xx series by Andrew Morton. Resync it with the recent host chip driver changes, or better the introduction of an API at all.
- Consolidate the handling of device ID byte order in one place. This was spotted and patched by Bartomiej onierkiewicz.
- Eliminate CONFIG_BLK_DEV_IDEPCI - it's duplicating the functionality of the already present and fine CONFIG_PCI flag and if we are a PCI host, we are indeed very likely to need host chip support anyway.
- Remove some redundant info about the model and channel number from /proc/ide. Remove the binary entries not helpful to the user, and not used by any program and redundant to corresponding ioctls.
- Properly return udma_read and udma_write values in taskfile.
- Only initialize XXX_udma to the default handlers if it has not been initialized by the host chip initialization.
I have enabled spin lock debugging and can see that on device flush the spin locks get wrong counts... no problems elsewher ethus far. I will re check them next time around.
--------------------------------------------------------------
[PATCH] IDE 58
- m68k fixes by Roman Zippel.
- CDROM PIO mode fix by Osamu Tamita.
(You are true "Hawk-eye" hovering over my head! Respect - and many Thanks.)
- Virtualize the udma_enable method as well to help ARM and PPC people. Please please if you would like to have some other methods virtualized in a similar way - just tell me or even better do it yourself at the end of ide-dma.c. I *don't mind* patches.
- Fix the pmac code to adhere to the new API. It's supposed to work again. However this is blind coding... I give myself 80% chances for it to work ;-).
--------------------------------------------------------------
[PATCH] 2.5.14 IDE 57
Nuke /proc/ide. For explanations why, please see the frustrated comments in the previous change log. If one still don't see why it wasn't a good thing, well please just take a look at the following:
Kernel size before:
text data bss dec hex filename
1716049 403968 470252 2590269 27863d vmlinux
Kernel size after:
text data bss dec hex filename
1680993 403488 470124 2554605 26faed vmlinux
2% of overall size! And this is not exactly an minimalistic setup.
--------------------------------------------------------------
[PATCH] 2.5.14 IDE 56
- Push poll_timeout down from the hwgroup to the channel. We are resetting the channel and not a whole hwgroup. This way using multiple pdc202xxx cards should magically start to work with multiple performance and resets will no longer lock the system.
- Updates for PDC4030 by Peter Denison <[email protected]>.
- Make ide_raw_taskfile don't care about request buffers. They where always NULL.
- Port set multi mode count over from the special setting interface to ide_raw_taskfile. Fix errors in the corresponding interrupt handler in one go as well. It turned out that this is precisely the same code as in task_no_data_intr, so we can nuke it altogether. And finally we have found some problems with the set_pio_mode() command which can fail with -EBUSY - this is in esp. probably *very* common during boot hdparm usage those days! (OK it was masked by reportig too early that it finished... Crap Crap utter crap it was!!!) Right now hdparm should just be extendid to properly
sync and retry on -EBUSY and everything should be fine.
And now the 1 Milion EUR question for everybody who loves to put driver settings in to /proc:
How the hell could echo > /proc/ide/ide0/settings blah blah blah blah handle properly cases like -EIO, -EBUSY and so on??? Having the possibility o do it does not mean that it is a good idea to use it.
OK. After realizing the simple fact that quite a lot of low level hardware manipulating ioctls may require assistance in usage from proper logic which is *very* unlikely to be implemented in a bash (for me preferable still ksh) I have made my mind up.
/proc/ide will be nuked.
- Execute the recalibration for error recovery on precisely the same request as the one which failed.
- Remove set geometry. It's crap by means of standard specification. Because:
1. We rely on the existence of the identify command anyway.
2. This command was obsoleted *before* the identify command existed as far as I can see.
2. I'm able to have a look at what other ATA/ATAPI drivers in the wild do:
They don't do it.
- Just call tuneproc in set_pio_mode() directly - we are already behind the rq queue there.
- After we have uncovered the broken logics behind the whole ioctl handling we now just have made ide_spin_wait_hwgroup() waiting for a proper somehow longer timeout before giving up. This was previously just hiding the broken concept of setting ioctl values through /proc/ide/ideX/settings - now it just really helps hdparm to not to give up too early. (It shouldn't probably play wreck havock on the global driver spin lock as well. I will look in to this later.)
- Scrap the non necessary, to say the least, disabling of interrupts for 3, read it again please, 3 seconds, on the local CPU inside ide_spin_wait_hwgroup(). Spin lock handling needs checking there badly as I see now as well...
Hey apparently any "special" requests are gone. We now have only to deal with REQ_DEVICE_ACB and REQ_DEVICE_CMD. One of them is still too much and will be killed.
--------------------------------------------------------------
[PATCH] 2.5.14 IDE 59
Basically PCI driver handling reorganization. This is one step further ahead toward the goal of fully modularized host chip drivers.
- Adjust ide-scsi to the new error handling. Just don't try any device resets there.
- Add unmasking of IRQ per default to the PMac PCI code.
- Split up the crap table from ide-pci. Let the corresponding drivers do registration of the functions they provide. This small change makes this patch rather big.
- Hard-code the number of ports requested for DMA engines. They are always precisely 8 on PCs. If you hove something different to deal with, well then please just provide your own init_dma method.
- Remove the HDIO_GETGEO_BIG ioctl. Patch by Andries Brouwer. Applies unmodified.
- Make ON_BOARD be equal 0, so we can spare ourself some typing in structure initialization.
- Normalize the terminology in the host chip drivers. It will make spotting the tons of common code found there later easier.
<[email protected]>
--------------------------------------------------------------
[PATCH] capabilities for mtrr driver.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] CREDITS update
--------------------------------------------------------------
[PATCH] check various return codes in advantechwdt.
Adds missing checks. Probably another from William Stinson
--------------------------------------------------------------
[PATCH] IA64 ZX1 AGPGart support.
From 2.4
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] typo.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] documentation for Cyrix IRQ routing
--------------------------------------------------------------
[PATCH] sonypi update
Syncs up with latest from Stelian
--------------------------------------------------------------
[PATCH] VIA quirk update.
Brings up to date with the quirk in 2.4
This makes sure we only apply it on the right chipsets, and adjusts the bits that get poked depending on which we find.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] prefetching too far in mem copies
This patch from 2.4 makes sure we don't prefetch past the end of a range to be copied (in case its at the end of a memrange) i386 case looks safe already, we just weren't optimal for the last chunk to be copied.
Andi. same change needed for x86-64.
Dave.
--------------------------------------------------------------
[PATCH] update NBD URL
--------------------------------------------------------------
[PATCH] DMI update.
Another Sony for the apm blacklist.
--------------------------------------------------------------
[PATCH] motioneye driver update.
Syncs up with Stelians latest
--------------------------------------------------------------
[PATCH] typo in z2ram driver
--------------------------------------------------------------
[PATCH] simplify wdt285 copying.
copy_to_user already does the relevant checking.
--------------------------------------------------------------
[PATCH] dmasound update.
The largest part of the OSS update from 2.4 Various changelog entries scattered throughout the patch.
--------------------------------------------------------------
[PATCH] PNPBIOS / floppy conflict.
The PNPBIOS driver and the floppy driver both fight over reservation of the floppy port. This patch makes things friendly again. As the comment suggests, this fix could be done better, but until someone steps forward to fix this, this is the best we have.
--------------------------------------------------------------
[PATCH] NCR5380 update.
From 2.4
- Lindented
- Add Docbook comments
- Remove duplicate MODULE_LICENSE tag
--------------------------------------------------------------
[PATCH] list macro conversion.
Use listwalking macro..
--------------------------------------------------------------
[PATCH] swap file missing error check
Found by Andries Brouwer a while back iirc.
--------------------------------------------------------------
[PATCH] HP ZX1 AGP/DRM support.
From 2.4
--------------------------------------------------------------
[PATCH] ptrace bug
We weren't incrementing the address when walking a processes address space. From 2.4
<[email protected]>
--------------------------------------------------------------
net/core/neighbour.c: Delete ancient ASSERT_WL debugging.
--------------------------------------------------------------
Sparc64: Implement pfn_pte.
--------------------------------------------------------------
Sparc64 updates:
- Implement changes for pfn_to_page et al.
- Update defconfig.
--------------------------------------------------------------
Sparc64: Fix thinko in page_to_pfn
--------------------------------------------------------------
Sparc64: Update ioctl32 for bluetooth updates.
--------------------------------------------------------------
soft-fp fix:
- When converting from integer to float, rounding is done incorrectly due to off-by-one shift in conversion
--------------------------------------------------------------
Sparc64: Fix pfn_foo macros and add descriptive commentary above explaining the {phys,pfn}_base stuff.
--------------------------------------------------------------
Sparc64: Make use of USE_STANDARD_AS_RULE.
--------------------------------------------------------------
SLAB: When using get_user on kernel pointers, enter KERNEL_DS.
--------------------------------------------------------------
Soft-fp fix:
- Fix handling of implicit 1 bit of fraction part when converting from int to float. We cannot handle it properly unless we defer implicit 1 bit handling till after rounding as rounding may move where the implicit 1 bit is in
the final converted integer.
--------------------------------------------------------------
Sparc64: Enter KERNEL_DS when invoking do_sigaltstack with kernel pointers.
--------------------------------------------------------------
drivers/usb/net/rtl8150.c: Include linux/init.h
--------------------------------------------------------------
Sparc64: Make pcibios_init a subsys_initcall.
--------------------------------------------------------------
Sparc64: Keep totalram_pages equal to num_physpages.
--------------------------------------------------------------
Sparc: Kill references to buffermem_pages.
--------------------------------------------------------------
asm-sparc64/thread_info.h: Include asm/page.h even if __ASSEMBLY__
<[email protected]>
--------------------------------------------------------------
[PATCH] PATCH ehci -- interrupt xfer requeue
The fix basically removes a bit-complement that shouldn't have been there. (Plus related simplification.) That changed the PID, so that (for one example) only the first hub plug/unplug event could work. So it's essential for anyone using high speed hubs.
I'm still not quite sure why this hasn't affected more testing, but that's life ... :)
--------------------------------------------------------------
[PATCH] USB usbnet driver update
- generalizes/cleans keventd support to also handle
* rx stalls (and usb 2.0 transaction translator unplug)
* rx memory shortfalls (latent bug Oliver noticed)
* cleanup on device disconnect (quiesce first)
- merges Brad's patch to use the IEEE802 "locally assigned" bit
- fixes a couple minor bugs on error paths (leak, bogus diagnostic)
- updates some comments
--------------------------------------------------------------
[PATCH] PATCH 2.5.14 -- ehci misc fixes
- Report better errors, and in one case the correct one.
- Adds strategic wmb() calls
- Claims the right (scaled) ISO bandwidth
- Uses non-CVS version ID
This will likely resolve that Archos MP3 Jukebox issue, where "-104" (-ECONNRESET) was appearing mysteriously.
<[email protected]>
--------------------------------------------------------------
[PATCH] osst update
This is the OnStream variant of the st driver that has been in Dave's tree for some time.
The change looks like it is from Willem Riede ([email protected]) and that it has been forwarded ported from lk 2.4 .
--------------------------------------------------------------
[PATCH] sg update
Here is one fix and one enhancement to the scsi generic (sg) driver in 2.5.14
Changelog:
- off by one fix for last scatter gather element
- if possible compact kiobuf_map into scatter gather list
--------------------------------------------------------------
[PATCH] aha1542 update
This ISA scsi adapter still seems to be popular given the number of people that supply patches for it collected in Dave's tree.
The latest patch was from William Stinson (first item):
- request_region cleanup
- removal of old scsi error handling (leaving newer version)
- scatterlist::address replaced
- host_lock replacing io_request_lock
Doug Gilbert
P.S. This is a transfer from Dave's tree. It runs fine for me on a dual Celeron SMP box.
<[email protected]>
--------------------------------------------------------------
add back NCR53c810 PCI quirk code from davej that was lost in the merge
--------------------------------------------------------------
hand merge of davej's x86 pci-pc janitor work
--------------------------------------------------------------
PCI hotplug update
include file location changed due to pci changes
--------------------------------------------------------------
USB pl2303 driver
added support for another pl2303 device thanks to lutz rothhardt
--------------------------------------------------------------
Move arch/i386/kernel/pci/ to arch/i386/pci/
--------------------------------------------------------------
PCI hotplug drivers
change due to moved location of i386's pci.h
--------------------------------------------------------------
USB Config.in and Makefile minor changes
sync up with -dj tree
--------------------------------------------------------------
USB ohci driver update
add PMAC changes found in -dj tree
--------------------------------------------------------------
USB
minor -dj tree updates.
--------------------------------------------------------------
moved the pci_alloc_consistent() and pci_free_consistent() functions back into arch/i386/kernel as they are needed even if CONFIG_PCI is not enabled.
--------------------------------------------------------------
PCI Hotplug core
removed pcihpfs_statfs(), as it's not used anymore.
--------------------------------------------------------------
IBM PCI Hotplug driver
update the ibm pci hotplug driver to the latest version. Contains lots of small bugfixes and added features for new hardware.
-------------------------------------------------------------- Tigon3 fix: - Fix typo in setting MR_LP_ADV duplex flags.
<[email protected]>
--------------------------------------------------------------
[PATCH] small filemap.c/pagemap.h cleanups
- remove page_cache_entry - I think it never ever was actually used.
- remmove wake_up_page (as in 2.4) - never used
- remove misleading comment ontop of pagemap.h
- make wait_on_page* directly call wait_on_page_bit
- some reordering and additional comments in pagemap.h
-------------------------------------------------------------- [PATCH] suser() -> capable() checks Trivial patch to change some instances of suser() and fsuser() to proper capable() checks.
<[email protected]>
--------------------------------------------------------------
[PATCH] Fix missing #includes
There are missing #includes which will break compilation on some non-x86 platforms. With following patch this compiles and works on alpha.
Ivan.
--------------------------------------------------------------
[PATCH] fixes for PCI reorg changes
There are missing #includes which will break compilation on some non-x86 platforms. With following patch this compiles and works on alpha.
--------------------------------------------------------------
[PATCH] 2.5.14: New PCI allocation code (alpha, arm, parisc) [2/2]
Summary of changes:
- alpha, arm: code related to PCI-PCI bridges from pcibios_fixup_bus() removed - now it's generic;
- pdev_sort_resource: sort resources all together, no matter IO or memory;
- pbus_assign_resources_sorted: ditto;
- pci_bridge_check_ranges, pci_setup_bridge: changed for prefetch support;
- pbus_size_io, pbus_size_mem: core stuff; tested with randomly generated sets of resources;
- pbus_size_bridges: pass #2 (pass #1 is PCI probing, common for all archs);
- pbus_assign_resources: pass #3.
Ivan.
--------------------------------------------------------------
[PATCH] 2.5.14: New PCI allocation code (alpha, arm, parisc) [1/2]
This changes PCI resource allocation algorithm to 3 passes vs. current 2 passes. Extra pass is used for calculation of required size and alignment of PCI buses behind PCI-PCI bridges. After that, in the pass #3, these buses get allocated like regular PCI devices. This gives tighter PCI IO and memory packing - for instance, this fixes allocation problems on certain alphas with very small (112Mb) PCI memory range. Also, the new code
- will allow mixed approach to resource allocation:
architecture can keep BIOS settings for some devices, and re-allocate resources for others, including improperly initialized bridges;
- makes prefetchable ranges support much simpler;
- allows sizing of IO and memory ranges for the host bridges, which might be very useful in some situations.
It was tested on various alphas; I haven't heard any complaints from rmk and rth, so probably all of this is ok. :-)
Part 1:
- for all archs, 4th argument (align) added to pcibios_align_resource (and its callers).
It's necessary because this function will be called for bus resources as well, and in this case size != alignment.
- for several archs, dead/bogus code removed from pcibios_fixup_pbus_ranges().
-------------------------------------------------------------- Tigon3: Handle Netgear GA302T correctly.
<[email protected]>
--------------------------------------------------------------
Move the IPv6 symbols into the ipv6 module
Currently, we're trying to export the IPv6 modules from netsyms.c, which can't work when netsyms is built-in, but IPv6 is modular. Fix is to move the IPv6 symbols to the ipv6 module. Actually, netsyms.c could use a lot more of this kind of untangling.
Also, move exporting the secure_*v6* symbols to drivers/char/random.c, since that's where they're defined.
The reason why things worked before is that the ipv6 module doesn't have a EXPORT_NO_SYMBOLS directive, so _all_ of its symbols where exported by modutils.
--------------------------------------------------------------
Documentation/kbuild/makefiles.txt polish
Some improvements to the wording by Toshiyasu Morita.
--------------------------------------------------------------
drivers/net/Makefile cleanup
Group selecting subdirs and linking them together. (Doesn't change the link order)
--------------------------------------------------------------
Link drivers/net/* from drivers/net/Makefile
Group knowledge about building objects and linking them together instead of splitting it between the top-level Makefile and the per-directory Makefiles.
This change tries to keep the link order the same as it was, at least as far as possible. One critical point is that we now link the pcmcia / wireless netdrivers before the pcmcia subsystem. However, the pcmcia subsystem is initialized via a late_initcall(), so this shouldn't make a difference.
drivers/net/Makefile looks a bit long now, but that can be improved a lot, patch yet to come.
--------------------------------------------------------------
ISDN: CAPI cleanup: register/release
Introduce register_appl() / release_appl() which are basically equivalent to open()/close() for net_device's.
Remove the registered() / released() callbacks and do the work immediately instead.
--------------------------------------------------------------
ISDN: CAPI cleanup
Remove unused header file.
--------------------------------------------------------------
ISDN: CAPI maintain driver MOD_USE_COUNT
Apart from the indentation changes, add an owner field to the hardware driver struct and use that to automatically inc/dec the module use count on register_appl()/release_appl()
--------------------------------------------------------------
ISDN: CAPI: use <linux/list.h> lists
--------------------------------------------------------------
ISDN: export callbacks directly
Just EXPORT_SYMBOL() the callbacks, instead of passing them to the drivers in a struct.
--------------------------------------------------------------
ISDN: CAPI: alloc struct capi_ctr dynamically
First step in actually having the hardware drivers alloc this as part of their per-controller data.
--------------------------------------------------------------
ISDN: CAPI: alloc struct capi_appl dynamically
First step in having the users alloc this as part of the state info they have to maintain anyway.
--------------------------------------------------------------
ISDN: CAPI remove NCCI up/down notification
Applications really ought to take care of maintaing the state themselves, instead of cheating by listening to controller private messages.
--------------------------------------------------------------
ISDN: CAPI fix new "ncci up"
There's actually two cases when a new NCCI is created:
outgoing and incoming connections (had missed the latter)
--------------------------------------------------------------
Fix compile time warning in serial.c
--------------------------------------------------------------
Fix cut'n'paste error in drivers/message/Makefile
--------------------------------------------------------------
Cleanup drivers/pcmcia/Makefile
Use the usual list-based approach. Still not too nice.
--------------------------------------------------------------
Remove PCMCIA backwards compatibility rule.
Old pcmcia-cs versions expect the pcmcia modules in /lib/modules/uname -r/pcmcia, so we symlinked them for compatibility. According to the comment, the generation of these links should have been removed in 2.4, so it's definitely time for it to go now.
--------------------------------------------------------------
Link drivers/char/* from drivers/char/Makefile
Link the subdirs of drivers/char from drivers/char/Makefile instead the top-level Makefile.
Link order changes slightly, shouldn't case any problems, though.
Fix drivers/char/pcmcia/Config.in.
Cleanup drivers/char/pcmcia/Makefile.
Fix rio build rules in drivers/char/Makefile.
--------------------------------------------------------------
Cleanup drivers/fusion/* build
Don't shortcut from drivers/Makefile to drivers/message/{fusion,i2o}/Makefile, but use intermediate drivers/message/Makefile.
Cleanup drivers/message/fusion/Config.in and get rid of unnecessary CONFIG_FUSION_BOOT.
--------------------------------------------------------------
Cleanup drivers/pcmcia/Makefile part 2
Adding some more flexibility to Config.in (Allow for core built-in but socket driver modular) cleans up the Makefile as well ;-)
--------------------------------------------------------------
Fix the Makefile cleanups
<[email protected]>
--------------------------------------------------------------
Netfilter ipt_ULOG fix:
- If timers were pending during module unload, we would OOPS.
-------------------------------------------------------------- Move arch/i386/kernel/pci-*.c to arch/i386/kernel/pci/; prepare for further cleanups -------------------------------------------------------------- Further split/cleanup of x86 PCI code -------------------------------------------------------------- Split drivers/pci/pci.c into smaller, bite-size chunks -------------------------------------------------------------- Further break-up-age Make ACPI PCI IRQ routing work a bit better... -------------------------------------------------------------- don't enable debug in arch/i386/kernel/pci/ -------------------------------------------------------------- Fix NUMA compile after PCI cleanup -------------------------------------------------------------- Move arch/i386/kernel/pci/ to arch/i386/pci/ -------------------------------------------------------------- PCI Update: Fix oops on boot w/ ACPI enabled -------------------------------------------------------------- Re-add check for valid acpi routing information, instead of assuming it works
<[email protected]>
--------------------------------------------------------------
[PATCH] PATCH - kNFSd in 2.5.14 - Tidy up comments in expfs.c
Chris Wright <[email protected]> suggested these to limit to 80 columns and such.
--------------------------------------------------------------
[PATCH] PATCH - kNFSd in 2.5.14 - Two small changes to nfsd/nfssvc.c
1/ Return correct error code if nfs server creation fails 2/ Increase limit on number of nfsd threads
There is no real justification for stopping a sysadmin from running lots and lots of nfsd threads, so we raise the imposed limit from 128 to 8192... maybe it should just go away...
--------------------------------------------------------------
[PATCH] PATCH - kNFSd - Remove flowcontrol problems with lockd/tcp
The sunrpc/tcp layer currently allocates some resources linearly with number of server threads. This causes problems when there are very small numbers of threads (e.g. lockd with one thread), so this patch adds a small constant to the number of threads before calculating resoures to allocate.
This patch also provide proper upper-limits for the response sizes for lockd requests, so resources are not over-allocated.
Together these resolve problems with heavy lockd load over tcp.
--------------------------------------------------------------
[PATCH] PATCH - kNFSd in 2.5.14 - Add a kernel_lock in d_splice_alias
d_move wants the kernel to be locked, so
d_splice_alias now takes that lock.
--------------------------------------------------------------
[PATCH] PATCH - kNFSd/FAT in 2.5.14 - Add export_operations support for FAT
This actually contains a lot of code that is never used, as we don't currently attempt to load an inode that isn't in cache, so the fat_get_parent is never actually reached. However it is there (and should be right) incase some brave soul does decide to enhance fat_get_dentry accordingly.
--------------------------------------------------------------
[PATCH] PATCH - kNFSd/ext3 in 2.5.14 - export_operations support for ext3
This patch converts ext3 to use the new export_operations for exporting a filesystem.
In particular it
- defines "ext3_get_parent" to do a lookup(".."),
- calls d_splice_alias when ext3_lookup finds something, so that build a dcache path from the bottom up works, and
- sets sb->s_export_op to point to an (almost empty) export_operations structure. The fact that it is mostly empty means that the default lookup operations are used, which match the previous approach (i.e. use iget, and then check the generation number).
--------------------------------------------------------------
[PATCH] PATHC - kNFSd/reiserfs in 2.5.14 - Convert reisferfs to use export_operations
This patch converts reiserfs to use the new export_operations interface for exporting a filesystem instead of the old fh_to_dentry and dentry_to_fh.
Essentially it:
- renamed reiserfs_dentry_to_fh to reiserfs_encode_fh
- split reiserfs_fh_to_dentry into reiserfs_get_dentry and reiserfs_decode_fh
- calls d_splice_alias from reiserfs_lookup so that building a dcache path from the bottom works well
- addes reiserfs_get_parent to do a lookup of ".." without going through the VFS interfaces.
- sets sb->s_export_op to be an appropriately initialised struct export_operations
This has been tested and works.
<[email protected]>
--------------------------------------------------------------
[PATCH] USB printer freeing minors in probe error path
fix a failure to free a minor in the error path of probe
--------------------------------------------------------------
[PATCH] usage count handling during disconnect
in usb.c during disconnect handling a reference to a driver is passed after the module usage count is decremented. In theory this is a race.
-------------------------------------------------------------- PPC32: add SIGURG to the list of signals ignored by default -------------------------------------------------------------- PPC32: add a subsys_initcall so pcibios_init gets called
<[email protected]>
--------------------------------------------------------------
PPC32: Rename ppc_defs.h to asm-offsets.h to ease the transition to kbuild-2.5 later.
--------------------------------------------------------------
Update the Config.help for ppc32. References to 486s and pentiums aren't really helpful here. :)
<[email protected]>
--------------------------------------------------------------
Define pfn_to_page, page_to_pfn, pte_pfn, pfn_pte for ppc32.
--------------------------------------------------------------
PPC32: This changeset adds preemptible kernel support for ppc32 and also streamlines the exception entry/exit code by not saving all the GPRs on the common exceptions (system call, external interrupt and decrementer).
--------------------------------------------------------------
PPC32: minor cosmetic changes, eliminate compile warnings
--------------------------------------------------------------
PPC32: fix serial clock for embedded EP405 board.
--------------------------------------------------------------
PPC32: remove some compiler warnings, xmon update
--------------------------------------------------------------
PPC32: powermac update from Ben Herrenschmidt.
This adds support for recent powermac models and fixes a few bugs.
--------------------------------------------------------------
[PATCH] fix drivers/pci/Makefile for PPC
On 32-bit PPC we don't need setup-bus.o but we do need setup-irq.o. This patch changes drivers/pci/Makefile to reflect that.
--------------------------------------------------------------
[PATCH] fix drivers/scsi/sd.c for ppc32
This patch fixes the compile errors in sd_find_target, which is only used on 32-bit PPC systems, and changes the ifdef around from CONFIG_PPC to CONFIG_PPC32 since ppc64 doesn't need this routine.
-------------------------------------------------------------- Sparc32 sun4c: - In sun4c_pmd_set, actually set the thing. - In ld_mmu_sun4c, pmd_set no longer BTFIXUPCALL_NOP.
-------------------------------------------------------------- IPV4: Add statistics for route cache GC monitoring.
<[email protected]>
--------------------------------------------------------------
[PATCH] USE_STANDARD_AS_RULE in i386 arch Makefiles
In Rules.make, a comment says:
# Old makefiles define their own rules for compiling .S files, # but these standard rules are available for any Makefile that # wants to use them. Our plan is to incrementally convert all # the Makefiles to these standard rules. -- rmk, mec
This patch does that for the i386 arch Makefiles.
--------------------------------------------------------------
[PATCH] Directory Notification Fix
This patch fixes directory notification so that notifications get cancelled when a process exits. This make dnotify MUCH more stable and usable :-)
<[email protected]>
--------------------------------------------------------------
[PATCH] Fix JFS file system corruption
JFS: Flush dirty metadata to disk when remounting from read-write to read-only. Also fix umount ordering to make sure metadata is written before journal closed.
With Andrew Morton's recent changes, JFS is no longer writing much of its dirty metadata when remounting from read-write to read-only. This causes severe file system corruption. A JFS root file system will be corrupted on shutdown.
This patch fixes the problem by explicitly writing the dirty metadata before the journal is closed. It also fixes the ordering so that the dirty metadata is completely written before the journal is closed for the normal unmount case as well.
<[email protected]>
--------------------------------------------------------------
Re-apply Dave's VIA quirk update from 2.4.x after the manual merge of the PCI re-organization removed it.
--------------------------------------------------------------
Update kernel version
-------------------------------------------------------------- Add SIGURG to list of ignore-by-default signals -------------------------------------------------------------- Fix makefile errors
<[email protected]>
--------------------------------------------------------------
PPC32: Update Motorola LoPEC support to match recent changes.
--------------------------------------------------------------
PPC32: Minor cleanups to the i8259 and OpenPIC code. From myself and Hollis Blanchard.
--------------------------------------------------------------
PPC32: Modify the OpenPIC code to allow for all combinations of sense and polarity of IRQs. Update the machines in CONFIG_ALL_PPC for this change.
--------------------------------------------------------------
PPC32: define some important magic constants.
--------------------------------------------------------------
PPC32: Modify openpic_get_irq() to call i8259_irq() for cascaded IRQs. This requires that i8259_init() be called with the real address where PCI interrupt-acknowledge transactions will be generated.
--------------------------------------------------------------
Fix building of CONFIG_XMON && !CONFIG_MAGIC_SYSRQ
<[email protected]>
--------------------------------------------------------------
[PATCH] NLS: Invalid koi8-ru return values
During my lurking around NLS code I found that KOI8-RU returns character code instead of length of character for two characters.
Petr Vandrovec
--------------------------------------------------------------
[PATCH] NLS: Allow user to select 1:1 mapping
This allows user to select 'default' encoding, which has defined mapping for each of 255 byte values, so one can use it as a fallback when it finds filesystem with unknown encoding (EBCDIC for example) just to get characters through filesystem.
Petr Vandrovec
-------------------------------------------------------------- Fix for the previous fix. hid->name is 128 bytes, not 64 bytes long. -------------------------------------------------------------- This fixes a possible buffer overflow in hid-core.c in case a device would have very long string descriptors (vendor and device name.)
-------------------------------------------------------------- [PATCH] m68k: atari updates [2/20] Some compile fixes. -------------------------------------------------------------- [PATCH] m68k: AFFS update [1/20] - sizeof changes from Kernel Janitor Project - several bug fixes found with fsx -------------------------------------------------------------- [PATCH] m68k: bitops update [3/20] Add __clear_bit/__ffs/sched_find_first_bit. -------------------------------------------------------------- [PATCH] m68k: add cacheflush.h [4/20] This moves several cache flush function into cacheflush.h. -------------------------------------------------------------- [PATCH] m68k: config.in update [5/20] Update to the latest config.in. -------------------------------------------------------------- [PATCH] m68k: license updates [7/20] Add missing license tags. -------------------------------------------------------------- [PATCH] m68k: hp300 update [8/20] compile fix -------------------------------------------------------------- [PATCH] m68k: idle update [10/20] Fix idle functions. -------------------------------------------------------------- [PATCH] m68k: remove hwclk_time/gettod [9/20] - replace hwclk_time with rtc_time - use hwclk instead of gettod to set initial time -------------------------------------------------------------- [PATCH] m68k: add missing include [11/20] Add missing include files. -------------------------------------------------------------- [PATCH] m68k: Rename KTHREAD_SIZE [12/20] This patch renames KTHREAD_SIZE into THREAD_SIZE, similiar to all other archs. -------------------------------------------------------------- [PATCH] m68k: math-emu updates [13/20] Compile fixes -------------------------------------------------------------- [PATCH] m68k: rename p_pptr [14/20] Rename p_pptr into parent. -------------------------------------------------------------- [PATCH] m68k: readd lost proc functions [15/20] These function were removed by a "cleanup", but they are still used. -------------------------------------------------------------- [PATCH] m68k: rlimits update [16/20] Update INIT_RLIMITS. -------------------------------------------------------------- [PATCH] m68k: seq_file fixes [17/20] update some proc functions to use the seq_file interface -------------------------------------------------------------- [PATCH] m68k: add tlbflush.h [18/20] Move several tlb functions into tlbflush.h. -------------------------------------------------------------- [PATCH] m68k: add show_trace/show_trace_task [19/20] extract show_trace()/show_trace_task() out of dump_stack(). -------------------------------------------------------------- [PATCH] m68k: zorro updates [20/20] - small compile fixes - id update - add asm-ppc/zorro.h -------------------------------------------------------------- [PATCH] m68k: driver updates [6/20] - kdev_t fixes - bio fixes - other cleanups and compile fixes
Quoted 9 lines · On Mon, 13 May 2002 12:12:28 +0200 Tomas Szepe <[email protected]> wrote:
Quoted 7 lines
[Linus Torvalds <[email protected]>, May-12 2002, Sun, 18:56 -0700]
As an example, if the long version looks like this:
...
The short version could look like
...How's this? (script attached)
very nice :)
Quoted 9 lines
[Tomas Szepe <[email protected]>, May-13 2002, Mon, 12:12 +0200]
Quoted 6 lines
[Linus Torvalds <[email protected]>, May-12 2002, Sun, 18:56 -0700]
As an example, if the long version looks like this:
...
The short version could look like
...How's this? (script attached)
hmmm, forgot to remove this one before submitting (not that it hurts)...
fmtcl.pl renamed from fmtcl.pl~ +1 -1
@@ -51,7 +51,7 @@ while ($_ = shift @items) { # Item separator print "\t--------------------------------------------------------------\n"; - my $line; foreach $line (@$_) { print "$line"; } + print @$_; } }
Quoted 7 lines · Greg KH
Quoted 5 lines · Matthias Andree
I sent a first version of a Perl program to Linus, a copy of the program is available at
http://mandree.home.pages.de/linux/kernel/lk-changelog.pl
(Yes I know the first $Log:$ entry is missing.)
Quoted 5 lines
Please make the following change to the patch, otherwise email address (or other things within a <>) in the body of the change message are improperly picked up.
Other than that minor problem, looks very nice.
Done, thanks.
Quoted 3 lines · [email protected] (Linus Torvalds) writes:
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
#!/usr/bin/perl -w
# Reformat 2.4 ChangeLog
use strict;
my %authors = ();
my $current;
while (<>) {
chomp;
if (/^</) {
if (exists $authors{$_}) {
$current = $authors{$_};
} else {
$current = $authors{$_} = [];
}
} else {
die "illegal format" unless defined $current;
push @$current, $_;
}
}my $author;
foreach $author (sort keys %authors) {
print "$author\n";
$_ = join "\n", @{$authors{$author}};
# Add empty line before next author.
s/\n*$/\n\n/;
print;
}For your example, the result is:
<[email protected]>
A bunch of fixes.
Pmac updates
Some more small fixes.
<[email protected]>
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in scsi_debug.c:
<[email protected]>
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a spot is all...
<[email protected]>
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
IMHO, it doesn't make much sense.
Signature · 3 lines
Florian Weimer [email protected] University of Stuttgart http://CERT.Uni-Stuttgart.DE/people/fw/ RUS-CERT +49-711-685-5973/fax +49-711-685-5898
Quoted 5 lines · you
Quoted 3 lines · [email protected] (Linus Torvalds) writes:
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
[snip]
Basically the same, this treats each patch separately:
#!/usr/bin/perl
use strict;
my %people = ();
my $addr = "";
my @cur = ();
sub append_item() {
if (!$addr) { return; }
if (!$people{$addr}) { @{$people{$addr}} = (); }
push @{$people{$addr}}, [@cur];
@cur = ();
}while (<>) {
# Match address
if (/^<(.+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
push @cur, $_;
} else {
# Header information
print
}
}sub print_items($) {
my @items = @{$people{$_[0]}};
# Vain attempt to sort patches from one address
@items = sort @items;
while ($_ = shift @items) {
# Item separator
print " --------------------------------------------------------------\n";
print @$_;
}
}append_item();
foreach $addr (sort keys %people) {
print "<$addr>\n";
print_items($addr);
print "\n";
}Output:
Summary of changes from v2.5.14 to v2.5.15
============================================
<[email protected]>
--------------------------------------------------------------
- remove spurious spaces and tabs at end of lines
- make sure if, while, for, switch has a space before the opening '('
- make sure no line has more than 80 chars
- move initializations to the declaration line where possible
- bitwise, logical and arithmetic operators have spaces before and after, improving readability of complex expressions
- remove uneeded () in returns
- other minor cleanups
<[email protected]>
--------------------------------------------------------------
net/ipv4/arp.c:
- htons cleanups
- remove duplicated code
- apply CodingStyle
...
...
<[email protected]>
--------------------------------------------------------------
[PATCH] capabilities for mtrr driver.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
--------------------------------------------------------------
[PATCH] region handling cleanup
Done by William Stinson.
Adds error handling to request_region() calls, and converts some old check_region() calls too.
...
...
Signature · 2 lines
Marcus Alanen [email protected]
Hello.
I changed your perl-script int that way that it only gives out the first line of the patch. This makes the changelog less verbose but you can read the changes very quickly and if you're interested in a certain patch, you can grep the verbose one. That makes more sense. IMHO I like it better that way. Most people want to see a little overview and are only really interested in the parts they're working on.
This is now the output:
[...]
<[email protected]>
- remove global_bufferlist_lock
- fix config.in syntax errors.
- architecture-independand si_meminfo
<[email protected]>
- A bunch of fixes.
- Pmac updates
- Some more small fixes.
<[email protected]>
- Bluetooth subsystem sync up
[...]
*Kristian
#!/usr/bin/perl -w
use strict;
my %people = ();
my $addr = "";
my @cur = ();
my $comment = 0;
sub append_item() {
if (!$addr) {
return;
}
if (!$people{$addr}) {
@{$people{$addr}} = ();
}
push @{$people{$addr}}, [@cur];
@cur = ();
}while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
$comment = 1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/- $1/;
$_ =~ s/\[PATCH\] //g;
$_ =~ s/\s*PATCH //g;
if ($comment == 1) {
push @cur, "\t$_\n";
$comment = 0;
}
} else {
# Header information
print;
}
}sub print_items($) {
my @items = @{$people{$_[0]}};
# Vain attempt to sort patches from one address
@items = sort @items;
while ($_ = shift @items) {
print @$_;
}
}append_item();
foreach $addr (sort keys %people) {
print "<$addr>\n";
print_items($addr);
print "\n";
} :... [snd.science] ...:
:: _o)
:: http://www.korseby.net /\\
:: http://gsmp.sf.net _\_V
:.........................:
Quoted 1 line · On Sun, 12 May 2002 23:17:23 +0200 Florian Weimer…
IMHO, it doesn't make much sense.
pull out the whitespace and put a bullet point in front of each entry.
Hm.
Geez, Im starting to sound like management... All I need now is a whiteboard and some indellible non-indellible marker pens :-)
I really dont care that much. I just like to read changelogs, not decode them.
Quoted 8 lines · Ian Molton
Quoted 1 line · On Sun, 12 May 2002 23:17:23 +0200 Florian Weimer…
IMHO, it doesn't make much sense.
pull out the whitespace and put a bullet point in front of each entry.
Hm.
And that adds more sense? ;-)
Do you guys really think that "small fixes" is enough? Don't you want to know what is actually fixed?
Signature · 3 lines
Florian Weimer [email protected] University of Stuttgart http://CERT.Uni-Stuttgart.DE/people/fw/ RUS-CERT +49-711-685-5973/fax +49-711-685-5898
Quoted 10 lines
[Marcus Alanen <[email protected]>, May-13 2002, Mon, 00:42 +0300]
Quoted 5 lines · you
Quoted 3 lines · [email protected] (Linus Torvalds) writes:
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
[snip]
Basically the same, this treats each patch separately:
I took the liberty of kicking it up another notch :)
- allow whitespace at the beginning of email line (strip it, though)
- remove whitespace at the beginning and the end of "content" lines and print everything out with a single tab in front
T.
Will process horrible mess like:
--
<[email protected]> asfd
A bunch of fixes.
<[email protected]>
Pmac updates
<[email protected]> mmmm
Some more small fixes.
<[email protected]>
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in
scsi_debug.c:
<[email protected]>
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a spot is all...
<[email protected]>
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
-- into: --
-------------------------------------------------------------- A bunch of fixes. -------------------------------------------------------------- Pmac updates -------------------------------------------------------------- Some more small fixes.
<[email protected]>
--------------------------------------------------------------
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in scsi_debug.c:
<[email protected]>
--------------------------------------------------------------
[PATCH] in_ntoa link failure
Nothing serious. Whoever it was that did that global replacemissed a spot is all...
<[email protected]>
--------------------------------------------------------------
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
--
#!/usr/bin/perl -w
use strict;
my %people = ();
my $addr = "";
my @cur = ();
sub append_item() {
if (!$addr) { return; }
if (!$people{$addr}) { @{$people{$addr}} = (); }
push @{$people{$addr}}, [@cur];
@cur = ();
}while (<>) {
# Match address
if (/^\s*<([^>]+)>/) {
# Add old item (if any) before beginning new
append_item();
$addr = $1;
} elsif ($addr) {
# Add line to patch
s/^\s*(.*)\s*$/$1/;
push @cur, "\t$_\n";
} else {
# Header information
print;
}
}sub print_items($) {
my @items = @{$people{$_[0]}};
# Vain attempt to sort patches from one address
@items = sort @items;
while ($_ = shift @items) {
# Item separator
print "\t--------------------------------------------------------------\n";
print @$_;
}
}append_item();
foreach $addr (sort keys %people) {
print "<$addr>\n";
print_items($addr);
print "\n";
}Quoted 2 lines · Florian Weimer
Quoted 1 line
pull out the whitespace and put a bullet point in front of each entry.
And that adds more sense? ;-)
It makes it more legible.
Quoted 2 lines
Do you guys really think that "small fixes" is enough? Don't you want to know what is actually fixed?
Well, yes and no.
A short, pertinent _overview_ of the changelog in front of a more detailed changelog is a nice thing to have. I love Alan Cox' changelog style, I don't even bother with the 2.4.x-format anymore. It takes ages due to ugly formating and it's way too detailed. (I asked the people at our LUG meeting once, they all agreed with my above assessment).
Regs,
Sven
Signature · 4 lines
Sven Riedel [email protected] Osteroeder Str. 6 / App. 13 [email protected] 38678 Clausthal "Python is merely Perl for those who prefer Pascal to C" (anon)
In article <[email protected]>,
Quoted 22 lines · Florian Weimer
For your example, the result is:
<[email protected]>
A bunch of fixes.Pmac updates
Some more small fixes.
<[email protected]>
[PATCH] 2.5.13: vmalloc link failureThe following patch fixes this, and also fixes the similar problem in
scsi_debug.c:<[email protected]>
[PATCH]in_ntoalink failureNothing serious. Whoever it was that did that global replacemissed a spot is all...
Quoted 7 lines
<[email protected]>
[PATCH]change_floppy()fixNeeded both in 2.4 and 2.5
IMHO, it doesn't make much sense.
It doesn't make much sense that way, but if you also made the descriptions shorter (first line only) _and_ then packed them, it would give a much denser overview. Oh, and remove any [PATCH] marker: I just use them to keep track of which were imported as email-patches vs which were done "natively" with BK..
So you'd have something like:
[email protected]:
A bunch of fixes.
Pmac updates
Some more small fixes.
[email protected]:
2.5.13: vmalloc link failure
[email protected]:
in_ntoa link failure
[email protected]:
change_floppy() fix
which I could more easily post to linux-kernel (possibly after some minor hand-editing) because it wouldn't end up being 20kB worth of text that not everybody is interested in reading.
Hmm?
Linus
Quoted 8 lines · Linus Torvalds
[email protected]:
A bunch of fixes.
Pmac updates
Some more small fixes.
[email protected]:
2.5.13: vmalloc link failure
Quoted 6 lines
[email protected]:
in_ntoalink failure[email protected]:
change_floppy()fix
Picking on your examples, the first IMO needs more context.
(speaking more to the crowd...)
Changeset comments need to be written as if they stand alone, without any other context -- including the author. A reader should not need to know that (for examples) James Simmons hacks on fbdev stuff.
Jeff
Quoted 4 lines · Jeff Garzik
(speaking more to the crowd...)
Changeset comments need to be written as if they stand alone, without any other context -- including the author. A reader should not need to know that (for examples) James Simmons hacks on fbdev stuff.
100% agreed.
Part of the design of citool was an attempt to guide people towards doing that. We encourage people to do the detailed stuff on the file comments and the logical level comment on the changeset. Think of file as the "how" and the changeset as the "what".
The good news is that people do tend to get better once they realize that other people read this stuff.
Signature · 2 lines
--- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
Quoted 23 lines · Linus Torvalds
In article <[email protected]>,
Quoted 3 lines · Ian Molton
I dont know who to write to about this, but the changelogs for 2.4.19-pre on kernel.org are COMPLETELY illegible.
Hmm..
You're definitely right about the BK version numbers, since those are meaningless anyway (they are only meaningful within one BK tree, and they change over time when you merge different trees together.
The 2.4.x changelogs seem to be done with my "release" scripts, but additionally they don't have the same kind of detailed information that the 2.5.x kernels have, and yes, the result is fairly ugly.
What are peoples opinion about the "full" changelog format that v2.5.x kernels have? Should we sort that too by author?
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
Quoted 7 lines
I'll remove the date/BK ID thing, so that my unsorted changelogs would look like the appended thing. But yes, sorting (and merging) by author would probably be a good thing. (My BK changelog scripts can also add markers around the actual log message, to make parsing easier).
Linus
Rather than sort by author i, and i suspect others, would prefer the top-level sort be by subsystem or a recognizable aspect (ext2fs, VM, sched, cleanup, etc). That way we could quickly scan for the patches that relate to areas of interest. I am aware that currently many patches aren't even labled suitably but if we start doing this then eventually it will get better.
Also where a set of patches are included it would be nice if they could be merged like so:
|<[email protected]> | [devicefs] blah blah blah [1/6] | | fixed the whosit | |<[email protected]> | [devicefs] blah blah blah [2/6] | | improved error report | |<[email protected]> | [devicefs] blah blah blah [4/6] | | move locking down a layer (requires 1)
Might become
| ** devicefs ** |<[email protected]> | [devicefs] blah blah blah [1,2,4/6] | | fixed the whosit | | improved error report | | move locking down a layer (requires 1)
Of course this would be further down the line.
Quoted 8 lines · jw schultz
Rather than sort by author i, and i suspect others, would prefer the top-level sort be by subsystem or a recognizable aspect (ext2fs, VM, sched, cleanup, etc). That way we could quickly scan for the patches that relate to areas of interest. I am aware that currently many patches aren't even labled suitably but if we start doing this then eventually it will get better.
Some of us already state what subsystem/driver the changeset is for on the first line of the change entry for this very reason :)
greg k-h
Quoted 5 lines · Tomas Szepe
Quoted 5 lines
[Marcus Alanen <[email protected]>, May-13 2002, Mon, 00:42 +0300]
Quoted 2 lines · you
[email protected] (Linus Torvalds) writes:
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Quoted 3 lines
Perl is the obvious choice for doing transformations like these. Is anybody willing to write a perl script that does the "sort by author" thing?
[snip]
Basically the same, this treats each patch separately:I took the liberty of kicking it up another notch :)
Perfect for me.
I like reading the details, now I don't have to
skip the repeated email addresses over and over.
Helge Hafting
Quoted 4 lines · Jeff Garzik
(speaking more to the crowd...)
Changeset comments need to be written as if they stand alone, without any other context -- including the author. A reader should not need to know that (for examples) James Simmons hacks on fbdev stuff.
I think it is nice to have the names. A new kernel might break something, It is then nice to know where to send the bug report. (It is usually, but not necessarily the maintainer that did it.)
That's why I like a long format, merely with the _duplicated_ names removed. I guess people like to see their name in the changelog too. :-)
Helge Hafting
Em Sun, May 12, 2002 at 09:31:03PM +0100, Dr. David Alan Gilbert escreveu:
Quoted 3 lines
Perhaps insisting that each check in message includes a single line (sub 60 chars) description; could turn those into description : name and remove dupes?
That'd be nice indeed, like %{summary} and %{description} in rpm spec files 8)
A simple script would just get the line with '^Summary:' and generate the one page "executive" summary...
Now to wait for the non auto part of the story: discipline of kernel hackers, erm, it seems we'll need an human doing the summary... ;(
- Arnaldo
Quoted 6 lines · Arnaldo Carvalho de Melo
Em Sun, May 12, 2002 at 09:31:03PM +0100, Dr. David Alan Gilbert escreveu:
Quoted 3 lines
Perhaps insisting that each check in message includes a single line (sub 60 chars) description; could turn those into description : name and remove dupes?
That'd be nice indeed, like %{summary} and %{description} in rpm spec files 8)
We already have that requirement for patches that are emailed to me: the Subject line becomes the first line of the changelog, and as a result those changelogs are already fairly readable.
The email-patches also tend to have better changelogs for the simple reason that people think more when they submit patches to me than they seem to do when they just want to check something in (ie very few people would send an email saying "fix misc problems" as the body of the email, yet it's easy to do when you do "bk citool").
Linus
Em Mon, May 13, 2002 at 01:57:15PM -0700, Linus Torvalds escreveu:
Quoted 8 lines · Arnaldo Carvalho de Melo
Quoted 6 lines
Em Sun, May 12, 2002 at 09:31:03PM +0100, Dr. David Alan Gilbert escreveu:
Quoted 3 lines
Perhaps insisting that each check in message includes a single line (sub 60 chars) description; could turn those into description : name and remove dupes?
Quoted 5 lines
Quoted 1 line
That'd be nice indeed, like %{summary} and %{description} in rpm spec files 8)
seem to do when they just want to check something in (ie very few people would send an email saying "fix misc problems" as the body of the email, yet it's easy to do when you do "bk citool").
As a bk newbie I'm trying to follow these rules... 8)
- Arnaldo
Quoted 8 lines · Helge Hafting
Quoted 5 lines · Jeff Garzik
(speaking more to the crowd...)
Changeset comments need to be written as if they stand alone, without any other context -- including the author. A reader should not need to know that (for examples) James Simmons hacks on fbdev stuff.
Quoted 5 lines
I think it is nice to have the names. A new kernel might break something, It is then nice to know where to send the bug report. (It is usually, but not necessarily the maintainer that did it.)
Having the name is fine -- I agree it should not be removed.
However, that was not the point of my message. The point is, each changeset comment comes with -no context at all-. If the author of the comment assumes that, by his name, we can figure out what a comment like "minor fixes" mean, that author is making a mistake. Each cset comment needs to tell exactly what the change is, and should not require knowledge of the author's identity to determine what is in the changeset.
Jeff