]> git.neil.brown.name Git - history.git/log
history.git
23 years agoFsck knows why the devil does st.c has to call something a partition,
Linus Torvalds [Sat, 7 Sep 2002 14:24:53 +0000 (07:24 -0700)]
Fsck knows why the devil does st.c has to call something a partition,
but it does...

23 years agoMerge home.transmeta.com:/home/torvalds/v2.5/viro
Linus Torvalds [Sat, 7 Sep 2002 10:05:57 +0000 (03:05 -0700)]
Merge home.transmeta.com:/home/torvalds/v2.5/viro
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] (25/25) more cleanups of struct gendisk.
Alexander Viro [Sat, 7 Sep 2002 10:05:14 +0000 (03:05 -0700)]
[PATCH] (25/25) more cleanups of struct gendisk.

* we remove the paritition 0 from ->part[] and put the old
contents of ->part[0] into gendisk itself; indexes are shifted, obviously.
* ->part is allocated at add_gendisk() time and freed at del_gendisk()
according to value of ->minor_shift; static arrays of hd_struct are gone
from drivers, ditto for manual allocations a-la ide.  As the matter of fact,
none of the drivers know about struct hd_struct now.

23 years ago[PATCH] (24/25) disk capacity helpers
Alexander Viro [Sat, 7 Sep 2002 10:05:09 +0000 (03:05 -0700)]
[PATCH] (24/25) disk capacity helpers

new helpers - get_capacity(gendisk)/set_capacity(gendisk, sectors).
Drivers switched to these; that eliminates most of the accesses to
disk->part[]... in the drivers (and makes code more readable, while
we are at it).  That had caught several bugs when minor had been
used in place of minor>>minor_shift (acsi.c is especially nasty in
that respect; I don't know if it had ever been used with multiple
devices...)

23 years ago[PATCH] (23/25) move pointer to gendisk from hwif to drive
Alexander Viro [Sat, 7 Sep 2002 10:05:04 +0000 (03:05 -0700)]
[PATCH] (23/25) move pointer to gendisk from hwif to drive

 ide switched from hwif->gd[i] to hwif->drive[i]->disk - IOW, instead
of array of two pointers to gendisks refered from hwif, we keep these pointers
in relevant drives.  Cleaned up.

23 years ago[PATCH] (22/25) gendisks for SCSI cdroms
Alexander Viro [Sat, 7 Sep 2002 10:04:59 +0000 (03:04 -0700)]
[PATCH] (22/25) gendisks for SCSI cdroms

SCSI cdroms got gendisks.

23 years ago[PATCH] (21/25) cdrom->reset() cleanup
Alexander Viro [Sat, 7 Sep 2002 10:04:55 +0000 (03:04 -0700)]
[PATCH] (21/25) cdrom->reset() cleanup

invalidate_buffers() pulled from cdrom ->reset() into its caller.
At that point only cdrom.c using cdi->dev.  That will play a bit later.

23 years ago[PATCH] (20/25) cdu31a.c cleanup
Alexander Viro [Sat, 7 Sep 2002 10:04:51 +0000 (03:04 -0700)]
[PATCH] (20/25) cdu31a.c cleanup

minor cleanup in cdu31a.c

23 years ago[PATCH] (19/25) mcdx.c cleanup
Alexander Viro [Sat, 7 Sep 2002 10:04:46 +0000 (03:04 -0700)]
[PATCH] (19/25) mcdx.c cleanup

mcdx.c cleaned up, uses of cdi->dev eliminated

23 years ago[PATCH] (18/25) pcd.c - cleanup, killed used of cdi->dev
Alexander Viro [Sat, 7 Sep 2002 10:04:42 +0000 (03:04 -0700)]
[PATCH] (18/25) pcd.c - cleanup, killed used of cdi->dev

 pcd.c cleaned up, uses of cdi->dev eliminated, abuse of macros killed
(it used to have
#define PCD pcd[unit]
#define PI PCD.pi
and expected 'unit' to be local variable in each function that used these
(== almost every function in there)).

23 years ago[PATCH] (17/25) Lindent pcd.c
Alexander Viro [Sat, 7 Sep 2002 10:04:37 +0000 (03:04 -0700)]
[PATCH] (17/25) Lindent pcd.c

Lindent pcd.c.

23 years ago[PATCH] (16/25) pcd.c - beginning of macroectomy
Alexander Viro [Sat, 7 Sep 2002 10:04:33 +0000 (03:04 -0700)]
[PATCH] (16/25) pcd.c - beginning of macroectomy

 pcd.c - killed RR and WR macros (replaced with inlines without hidden
arguments; the first step in cleanup, they were monstrous).

23 years ago[PATCH] (15/25) sbpcd.c - killed useds of cdi->dev
Alexander Viro [Sat, 7 Sep 2002 10:04:29 +0000 (03:04 -0700)]
[PATCH] (15/25) sbpcd.c - killed useds of cdi->dev

sbpcd.c - d eliminated, ditto for uses of cdi->dev (we set cdi->handle
pointing to structure we neeed).  Cleaned up a bit.

23 years ago[PATCH] (14/25) sbpcd.c - use *current_drive instead of D_S[d]
Alexander Viro [Sat, 7 Sep 2002 10:04:24 +0000 (03:04 -0700)]
[PATCH] (14/25) sbpcd.c - use *current_drive instead of D_S[d]

 sbpcd.[c,h] - uses of D_S[d] replaced with uses of *current_drive.

23 years ago[PATCH] (13/25) sbpcd.c - beginning of cleanup
Alexander Viro [Sat, 7 Sep 2002 10:04:20 +0000 (03:04 -0700)]
[PATCH] (13/25) sbpcd.c - beginning of cleanup

sbpcd.c - sigh... It used to have a global variable inventively called
'd'.  Current disk number.  Tons of uses, 99% of them being D_S[d].<blah>.
Added a new variable - current_drive.  Said animal is equal to D_S + d -
it's reassigned at the same place as d.

23 years ago[PATCH] (12/25) sr.c passes pointers instead of minors now
Alexander Viro [Sat, 7 Sep 2002 10:04:16 +0000 (03:04 -0700)]
[PATCH] (12/25) sr.c passes pointers instead of minors now

 killed passing minors around; we always pass a pointer to structure;
scsi_CDs made static.  That killed uses of cdi->dev in sr.c and friends.

23 years ago[PATCH] (11/25) sr.c naming cleanup
Alexander Viro [Sat, 7 Sep 2002 10:04:11 +0000 (03:04 -0700)]
[PATCH] (11/25) sr.c naming cleanup

Global search'n'replace job - 'SCp' (Scsi_CD pointer - I'm not kidding;
and yes, they spell it "Scsi") replaced with 'cd' (sr.c, sr_ioctl.c,
sr_vendor.c).

23 years ago[PATCH] (10/25) sr.c device name handling
Alexander Viro [Sat, 7 Sep 2002 10:04:07 +0000 (03:04 -0700)]
[PATCH] (10/25) sr.c device name handling

sr.c: we set SCp->cdi.name from the very beginning, which allows
to kill passing minors in many cases (we can use "%s...", SCp->cd.name instead
of "sr%d...", minor and that turns out to be the majority of places where
we use minors at all).

23 years ago[PATCH] (9/25) update_partition()
Alexander Viro [Sat, 7 Sep 2002 10:04:02 +0000 (03:04 -0700)]
[PATCH] (9/25) update_partition()

new helper - update_partition(disk, partition_number); does the
right thing wrt devfs and driverfs (un)registration of partition entries.
BLKPG ioctls fixed - now they call that beast rather than calling only
devfs side.  New helper - rescan_partitions(disk, bdev); does all work
with wiping/rereading/etc. and fs/block_dev.c now uses it instead of
check_partition().  The latter became static.

23 years ago[PATCH] (8/25) Removing bogus arrays - ->de_arr[]
Alexander Viro [Sat, 7 Sep 2002 10:03:58 +0000 (03:03 -0700)]
[PATCH] (8/25) Removing bogus arrays - ->de_arr[]

similar to ->flags and ->driverfs_dev_arr, ->de_arr[] got replaced
with its (single) element + flag.

23 years ago[PATCH] (7/25) Removing bogus arrays - ->part[].number
Alexander Viro [Sat, 7 Sep 2002 10:03:53 +0000 (03:03 -0700)]
[PATCH] (7/25) Removing bogus arrays - ->part[].number

Each hd_struct used to have int number; in it.  It's used _only_
in disk->part[0] - disk->part[n].number is never assigned/checked for any
positive n.  Moved from hd_struct to gendisk (disk->part[0].number to
disk->number).

23 years ago[PATCH] (6/25) Removing bogus arrays - ->driverfs_dev_arr[]
Alexander Viro [Sat, 7 Sep 2002 10:03:49 +0000 (03:03 -0700)]
[PATCH] (6/25) Removing bogus arrays - ->driverfs_dev_arr[]

disk->driverfs_dev_arr is either NULL or consists of exactly one
element.  Same change as above (struct device ** -> struct device *); old
"is the pointer to array itself NULL or not?" replaced with a flag (in
disk->flags).

23 years ago[PATCH] (5/25) Removing bogus arrays - ->flags[]
Alexander Viro [Sat, 7 Sep 2002 10:03:44 +0000 (03:03 -0700)]
[PATCH] (5/25) Removing bogus arrays - ->flags[]

Seeing that now disk->flags[] always consists of one element, we
replace char *flags with int flags, remove the junk from places that used
to allocate these "arrays" and do obvious updates of the code
(s/->flags[0]/->flags/).

23 years ago[PATCH] (4/25) Unexporting driverfs_remove_partitions()
Alexander Viro [Sat, 7 Sep 2002 10:03:40 +0000 (03:03 -0700)]
[PATCH] (4/25) Unexporting driverfs_remove_partitions()

call of driverfs_remove_partitions() pulled into del_gendisk();
function isn't exported anymore.  Both it and driverfs_create_partitions()
cleaned up.

23 years ago[PATCH] (3/25) Removing useless minor arguments
Alexander Viro [Sat, 7 Sep 2002 10:03:36 +0000 (03:03 -0700)]
[PATCH] (3/25) Removing useless minor arguments

driverfs_remove_partitions(), devfs_register_partitions(),
driverfs_create_partitions(), devfs_register_partition(), devfs_register_disc(),
had lost 'minor' argument - it's always disk->first_minor these days.
disk_name() takes partition number instead of minor now.  Callers of
wipe_partitions() in fs/block_dev.c expanded.  Remaining caller passes
gendisk instead of kdev_t now.

23 years ago[PATCH] (2/25) Removing ->nr_real
Alexander Viro [Sat, 7 Sep 2002 10:03:31 +0000 (03:03 -0700)]
[PATCH] (2/25) Removing ->nr_real

Since ->nr_real is always 1 now, we can remove that field completely.
Removed the last remnants of switch in disk_name() (it could be killed
a long time ago, I just forgot to remove the last two cases when md and i2o
got converted).  Collapsed several instances of
disk->part[minor - disk->first_minor] - in cases when we know that we deal
with disk->part[0].

23 years ago[PATCH] (1/25) Unexporting helper functions
Alexander Viro [Sat, 7 Sep 2002 10:03:26 +0000 (03:03 -0700)]
[PATCH] (1/25) Unexporting helper functions

wipe_partitions() and driverfs_register_partitions(..., 1) (i.e.
unregistering them) pulled into del_gendisk() and removed from callers.
grok_partitions() merged with register_disk().  devfs_register_partitions(),
grok_partitions() and wipe_partitions() not exported anymore.

23 years ago[PATCH] alpha: misc fixes
Ivan Kokshaysky [Sat, 7 Sep 2002 04:17:45 +0000 (21:17 -0700)]
[PATCH] alpha: misc fixes

Patch set from Jay Estabrook:

 - include/asm-alpha/dma.h:
Add MAX_DMA_ADDR for SABLE and ALCOR

 - include/asm-alpha/floppy.h:
enable the full CROSS_64KB macro for all platforms

 - include/asm-alpha/core_t2.h:
fix HAE usage

 - arch/alpha/kernel/pci.c:
fiddle with quirk_cypress

 - arch/alpha/kernel/traps.c:
prevent opDEC_check() from multiple calls (EV4 SMP SABLEs)

 - arch/alpha/kernel/proto.h:
make t2_pci_tbi() real

 - arch/alpha/kernel/time.c:
shorten timeout delay

 - arch/alpha/kernel/sys_alcor.c:
use ALCOR_MAX_DMA_ADDR because of the 1GB limit on ISA devices

 - arch/alpha/kernel/core_t2.c:
add S/G support and allow direct-map to handle 2GB of memory

 - arch/alpha/kernel/core_tsunami.c:
rework alignment requirements for ISA DMA, esp. for ACER platforms

 - arch/alpha/kernel/sys_sable.c:
fix MAX_DMA_ADDR for the 1GB limitation

 - arch/alpha/kernel/pci_impl.h:
add T2_DEFAULT_MEM_BASE to help avoid HAE use

 - arch/alpha/kernel/pci_iommu.c:
fix ISA_DMA_MASK calculation, and force ISA alignment to 64KB

23 years ago[PATCH] alpha: compile fixes
Ivan Kokshaysky [Sat, 7 Sep 2002 04:17:41 +0000 (21:17 -0700)]
[PATCH] alpha: compile fixes

 - add another argument to do_fork();
 - assorted compile fixes.

23 years ago[PATCH] alpha: pci_ops update
Ivan Kokshaysky [Sat, 7 Sep 2002 04:17:36 +0000 (21:17 -0700)]
[PATCH] alpha: pci_ops update

Tested on CIA (sparse config space) and Irongate (dense config space);
other platforms should work as they are similar to these two.

Access config space directly on rx164.

23 years ago[PATCH] More ptrace fixes for 2.5.33
Daniel Jacobowitz [Sat, 7 Sep 2002 04:14:47 +0000 (21:14 -0700)]
[PATCH] More ptrace fixes for 2.5.33

Here are the changes I have

  - Fix some bugs I introduced in zap_thread
  - Improve the check for traced children in sys_wait4
  - Fix parent links when using CLONE_PTRACE

My thanks to OGAWA Hirofumi for pointing out the first bit.

The only other issue I know of is something else Hirofumi pointed out
earlier; there are problems when a tracing process dies unexpectedly.  I'll
come back to that later.

23 years ago[PATCH] more ptrace updates
Ingo Molnar [Sat, 7 Sep 2002 04:14:43 +0000 (21:14 -0700)]
[PATCH] more ptrace updates

I've done the attached patch to collect & clean up all the things that
happened since yesterday.

23 years agoFinally get rid of that irritating disk change message.
Linus Torvalds [Sat, 7 Sep 2002 03:58:30 +0000 (20:58 -0700)]
Finally get rid of that irritating disk change message.

23 years ago[PATCH] IDE cleanup (1.612) broke all fdisks I have...
Petr Vandrovec [Thu, 5 Sep 2002 11:17:19 +0000 (04:17 -0700)]
[PATCH] IDE cleanup (1.612) broke all fdisks I have...

It is nice that blkdev_ioctl calls blk_ioctl itself, but unfortunately
it does that only if driver's ioctl returns -EINVAL - and IDE returns
-EIO :-(

Patch below is tested for disks - I do not have IDE floppy nor IDE tape.

23 years agoMake in-kernel inode 'nlink' field be "unsigned int" instead
Linus Torvalds [Thu, 5 Sep 2002 04:35:55 +0000 (21:35 -0700)]
Make in-kernel inode 'nlink' field be "unsigned int" instead
of something arch-dependent and usually less.

We may want to do value limiting in generic_fillattr() if people
end up caring.

23 years ago[PATCH] pid-max-2.5.33-A0
Ingo Molnar [Thu, 5 Sep 2002 01:45:49 +0000 (18:45 -0700)]
[PATCH] pid-max-2.5.33-A0

This is the pid-max patch, the one i sent for 2.5.31 was botched.  I
have removed the 'once' debugging stupidity - now PIDs start at 0 again.
Also, for an unknown reason the previous patch missed the hunk that had
the declaration of 'DEFAULT_PID_MAX' which made it not compile ...

23 years ago[PATCH] ptrace-fix-2.5.33-A1
Ingo Molnar [Thu, 5 Sep 2002 01:42:21 +0000 (18:42 -0700)]
[PATCH] ptrace-fix-2.5.33-A1

This contains Daniel's suggested fix that allows a parent to
PTRACE_ATTACH to a child it forked.  That fixes the incorrect BUG_ON()
assert that Ogawa's patch was intended to fix, and we thus undo Ogawa's
patch.

I've tested various ptrace uses and they appear to work just fine.

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Thu, 5 Sep 2002 01:17:21 +0000 (18:17 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agokbuild: Preprocess vmlinux.lds on i386 as well.
Kai Germaschewski [Thu, 5 Sep 2002 05:07:47 +0000 (00:07 -0500)]
kbuild: Preprocess vmlinux.lds on i386 as well.

We want do so on all architectures for consistency, and i386 will need
the preprocessing soon anyway.

23 years ago[PATCH] 2.5.33 i2c-proc.c remove inode_fill code
Albert Cranford [Wed, 4 Sep 2002 13:18:16 +0000 (06:18 -0700)]
[PATCH] 2.5.33 i2c-proc.c remove inode_fill code

My previous patch added procs i2c_fill_inode and i2c_dir_fill_inode that
Al Viro deemed unnecessary.  i2c developers are in contact with Al to
get the latest scoop.  Meantime lets reverse the change before he flies
off at me about procfs abuse.

23 years ago[PATCH] trivial Makefile fix
David Mosberger [Wed, 4 Sep 2002 11:21:36 +0000 (04:21 -0700)]
[PATCH] trivial Makefile fix

Tthis one seems to have been around since 2.5.31 and nobody has fixed it
yet...

23 years ago[PATCH] Missing acess_ok() check in aio
Andrea Arcangeli [Wed, 4 Sep 2002 10:59:15 +0000 (03:59 -0700)]
[PATCH] Missing acess_ok() check in aio

BTW, while merging aio from 2.5 to 2.4 and fixing and porting the libaio
(in particular thanks to one of Ben's testcases that was checkin for
this specific case) I found this bug in 2.5

23 years agoMerge bk://jfs.bkbits.net/linux-2.5
Linus Torvalds [Wed, 4 Sep 2002 10:23:32 +0000 (03:23 -0700)]
Merge bk://jfs.bkbits.net/linux-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] IDE cleanups (2.5; similar to ones done for other drivers)
Alexander Viro [Wed, 4 Sep 2002 10:15:18 +0000 (03:15 -0700)]
[PATCH] IDE cleanups (2.5; similar to ones done for other drivers)

OK, before the next bunch of gendisk merges, here comes a couple
of 2.5 IDE cleanups.

a) exclusion between rereading partition tables and open() is done
in fs/block_dev.c these days, so homegrown one in ide.c is redundant - that
code _never_ blocks now.  Removed, just as it had been done with counterparts
in other drivers.

b) blk_ioctl() calls are done in blkdev_ioctl() now; driver doesn't
need to handle them.  Again, removed as it had been done in all other drivers.

23 years agoFix IO-APIC edge IRQ handling. IRQ_INPROGRESS was cleared spuriously
Linus Torvalds [Wed, 4 Sep 2002 04:06:01 +0000 (21:06 -0700)]
Fix IO-APIC edge IRQ handling. IRQ_INPROGRESS was cleared spuriously
if a new edge happened while we were still processing the previous
one.

Then, if a _third_ edge came in, it would actually cause a reentrant
irq handler invocation, because the original INPROGRESS bit was now
lost.

This was actually seen on IDE in PIO mode.

23 years ago[PATCH] move AGP PCI defines to pci_ids.h
Matthew Wilcox [Wed, 4 Sep 2002 03:00:27 +0000 (20:00 -0700)]
[PATCH] move AGP PCI defines to pci_ids.h

Unify the PCI device ID constants used by AGP with the normal Linux ones.

23 years ago[PATCH] fix create_elf_tables on PPC
Paul Mackerras [Wed, 4 Sep 2002 03:00:23 +0000 (20:00 -0700)]
[PATCH] fix create_elf_tables on PPC

create_elf_tables in fs/binfmt_elf.c now sets up the list of aux table
entries in a buffer on the kernel stack before copying it to the user
stack.

Unfortunately, while the buffer is big enough for most architectures, it
isn't big enough on PPC, which uses 5 extra aux table entries (put on
with ARCH_DLINFO).  The following patch increases the buffer to be big
enough for PPC.  (Note that each aux table entry uses two elements of
the elf_info array.)

23 years agoPPC32: remove a couple of unused files.
Paul Mackerras [Thu, 5 Sep 2002 07:51:31 +0000 (17:51 +1000)]
PPC32: remove a couple of unused files.

23 years agoPPC32: use page_to_pfn instead of page - mem_map in a couple of places
Paul Mackerras [Thu, 5 Sep 2002 07:48:27 +0000 (17:48 +1000)]
PPC32: use page_to_pfn instead of page - mem_map in a couple of places

23 years agoPPC32: fix a comment in asm-ppc/semaphore.h (extraneous "the")
Paul Mackerras [Thu, 5 Sep 2002 07:45:15 +0000 (17:45 +1000)]
PPC32: fix a comment in asm-ppc/semaphore.h (extraneous "the")

23 years agoPPC32: Correct a comment about soft/hardirq masks in asm-ppc/hardirq.h
Paul Mackerras [Thu, 5 Sep 2002 07:43:01 +0000 (17:43 +1000)]
PPC32: Correct a comment about soft/hardirq masks in asm-ppc/hardirq.h

23 years agoPPC32: moved the compatibility padding entries in the aux vector
Paul Mackerras [Thu, 5 Sep 2002 07:36:46 +0000 (17:36 +1000)]
PPC32: moved the compatibility padding entries in the aux vector
to the bottom of the aux table.

23 years agoPPC32: Put back an export-objs that someone incorrectly removed.
Paul Mackerras [Thu, 5 Sep 2002 07:26:33 +0000 (17:26 +1000)]
PPC32: Put back an export-objs that someone incorrectly removed.

23 years agoPPC32: update some initializers to the standard format, from Rusty.
Paul Mackerras [Thu, 5 Sep 2002 06:38:42 +0000 (16:38 +1000)]
PPC32: update some initializers to the standard format, from Rusty.

23 years agoMerge au1.ibm.com:/fuego/paulus/kernel/linux-2.5
Paul Mackerras [Thu, 5 Sep 2002 02:28:49 +0000 (12:28 +1000)]
Merge au1.ibm.com:/fuego/paulus/kernel/linux-2.5
into au1.ibm.com:/fuego/paulus/kernel/for-linus-ppc

23 years agoPPC32: add the extra argument for do_fork to the PPC calls.
Paul Mackerras [Thu, 5 Sep 2002 02:06:38 +0000 (12:06 +1000)]
PPC32: add the extra argument for do_fork to the PPC calls.

23 years agoPPC32: remove unnecessary includes in ppc_ksyms.c
Paul Mackerras [Thu, 5 Sep 2002 02:01:37 +0000 (12:01 +1000)]
PPC32: remove unnecessary includes in ppc_ksyms.c

23 years agoPPC32: Convert the various PCI config space accessors to the new API.
Paul Mackerras [Wed, 4 Sep 2002 05:35:50 +0000 (15:35 +1000)]
PPC32: Convert the various PCI config space accessors to the new API.

23 years agoJFS: we still need extHint
Christoph Hellwig [Tue, 3 Sep 2002 21:53:10 +0000 (23:53 +0200)]
JFS: we still need extHint

23 years agoJFS: fix up more merge issues
Christoph Hellwig [Tue, 3 Sep 2002 20:14:43 +0000 (22:14 +0200)]
JFS: fix up more merge issues

The BK merging was a little too smart for the conflicting changes.
Add back what we lost with the last changeset.

23 years agoJFS: merge direct inode removal with 2.5.33 changes
Christoph Hellwig [Tue, 3 Sep 2002 20:02:15 +0000 (22:02 +0200)]
JFS: merge direct inode removal with 2.5.33 changes

23 years agoJFS: sync blockdevice at umount
Christoph Hellwig [Tue, 3 Sep 2002 19:52:29 +0000 (21:52 +0200)]
JFS: sync blockdevice at umount

We need to sync the blockdevice mapping at umount although sync_blockdev
already does it as we need to make sure everything hits the disk before
we mark the superblock clean.

Found by Dave Kleikamp.

23 years ago[PATCH] list_t removal
Rusty Russell [Tue, 3 Sep 2002 15:03:36 +0000 (08:03 -0700)]
[PATCH] list_t removal

This removes list_t, which is a gratuitous typedef for a "struct
list_head".  Unless there is good reason, the kernel doesn't usually
typedef, as typedefs cannot be predeclared unlike structs.

23 years ago[PATCH] Important per-cpu fix.
Rusty Russell [Tue, 3 Sep 2002 15:00:10 +0000 (08:00 -0700)]
[PATCH] Important per-cpu fix.

Frankly, I'm amazed the kernel worked for long without this.

Every linker script thinks the section is called .data.percpu.
Without this patch, every CPU ends up sharing the same "per-cpu"
variable.

This might explain the wierd per-cpu problem reports from Andrew and
Dave, and also that nagging feeling that I'm an idiot...

23 years ago[PATCH] daemonize() calls reparent_to_init cleanup
Rusty Russell [Tue, 3 Sep 2002 14:58:55 +0000 (07:58 -0700)]
[PATCH] daemonize() calls reparent_to_init cleanup

 This makes daemonize() call reparent_to_init() itself, as long
suggested for 2.5, and fixes the callers so they don't call it again.
Also fixes callers which set current->tty to NULL themselves (also
no longer neccessary).

23 years ago[PATCH] Early child_reaper initialization
Rusty Russell [Tue, 3 Sep 2002 14:58:48 +0000 (07:58 -0700)]
[PATCH] Early child_reaper initialization

This sets child_reaper to the idle thread upon creation, so that
ksoftirqd's reparent_to_init call doesn't get the swapper as parent.

23 years ago[PATCH] Fix RELOC_HIDE miscompilation
Andi Kleen [Tue, 3 Sep 2002 12:43:59 +0000 (05:43 -0700)]
[PATCH] Fix RELOC_HIDE miscompilation

RELOC_HIDE got miscompiled on gcc3.1/x86-64 in the access to softirq.c's per
cpu variables.  This fixes the problem.

Clearly to hide the relocation the addition needs to be done after the
value obfuscation, not before.

I don't know if it triggers on other architectures (x86-64 is especially
stressf here because it has negative kernel addresses), but seems like the
right thing to do.

23 years ago[PATCH] sddr09.c MODE SENSE fixes
Andries E. Brouwer [Tue, 3 Sep 2002 12:41:31 +0000 (05:41 -0700)]
[PATCH] sddr09.c MODE SENSE fixes

Teach usb/storage/sddr09.c how to return less than a full page of sense
data.

23 years ago[PATCH] try more sd.c MODE SENSE modes
Andries E. Brouwer [Tue, 3 Sep 2002 12:41:25 +0000 (05:41 -0700)]
[PATCH] try more sd.c MODE SENSE modes

In sd.c we call MODE SENSE (6) in order to find out whether the
device is write protected. The info we need is in byte 2, the
header of the MODE SENSE answer, but in the request we have to
specify (i) what page(s) we want, and (ii) how many bytes we want.

Long ago we asked for 12 bytes from page 1 (Daniel Roche, 1.3.35).
Matthew Dharm made this 8 bytes from page 3F (all pages), patch-2.4.0-test8.
In patch-2.4.10 the 8 was increased to 255.

I found on the one hand devices that only react to page 0
(the vendor page), and return an error for page 3F.
And on the other hand devices that are unable to handle requests
for more bytes than they actually have.

So, it seems that the cautious way to ask for MODE SENSE data is
to first ask for the header only, see how much is available,
and then ask for everything.

The patch below first separates out the MODE SENSE call,
and then tries it three times: on all pages (3F), only the first
four bytes; on the vendor page (0), only the first four bytes;
on all pages (3F), 255 bytes.

This should be at least as robust as our current code.
I tried it on 8 SCSI devices (of which 2 fail under 2.5.33)
and found no problems.

23 years ago[PATCH] use page_to_pfn() instead of mem_map[]
Andrew Morton [Tue, 3 Sep 2002 12:34:12 +0000 (05:34 -0700)]
[PATCH] use page_to_pfn() instead of mem_map[]

A patch from Martin Bligh which cleans up the open-coded uses of
mem_map for ia32.  Basically it replaces

mem_map + pagenr

with

pfn_to_page(pagenr)

in lots of places.  Because mem_map[] doesn't work like that with
discontigmem.

It also fixes a bug in bad_range, that happens to work for contig mem
systems, but is incorrect.  Tested both with and without discontigmem
support.

23 years ago[PATCH] discontigmem support for ia32 NUMA
Andrew Morton [Tue, 3 Sep 2002 12:34:07 +0000 (05:34 -0700)]
[PATCH] discontigmem support for ia32 NUMA

 - All the support macros which assume a linear mem_map[] have been
   wrapped in !CONFIG_DISCONTIGMEM.  pfn_to_page, page_to_pfn,
   page_to_phys, pmd_page, kern_addr_valid.

 - Move some initialsation macros into setup.h so they can be used in
   the i386 discontig.c (INITRD_START, INITRD_SIZE).

 - Alternate version of the bootmem allocator

 - add i386 discontig support and numaq support.

23 years ago[PATCH] restructure mem_init for ia32 discontigmem
Andrew Morton [Tue, 3 Sep 2002 12:34:00 +0000 (05:34 -0700)]
[PATCH] restructure mem_init for ia32 discontigmem

 - Pull the middle out of one_highpage_init() so that the i386 NUMA
   patch can call it on a per-page basis.

 - Move a few lines out of mem_init() into the new
   set_max_mapnr_init(), which the i386 NUMA code requires.

23 years ago[PATCH] reorganise setup_arch() for ia32 discontigmem
Andrew Morton [Tue, 3 Sep 2002 12:33:56 +0000 (05:33 -0700)]
[PATCH] reorganise setup_arch() for ia32 discontigmem

This restructures setup_arch() for i386 to make it easier to include the
i386 numa changes (for CONFIG_DISCONTIGMEM) I've been working on.  It
also makes setup_arch() easier to read.  A version of this patch is the
in 2.4 aa tree.

This does not depend on the other patches I'm submitting today, but my
discontigmem patch does depend on this one.

I've tested this patch on the following configurations: UP, SMP, SMP
PAE, multiquad, multiquad PAE.

23 years ago[PATCH] convert node/zone_start_paddr to pfns
Andrew Morton [Tue, 3 Sep 2002 12:33:51 +0000 (05:33 -0700)]
[PATCH] convert node/zone_start_paddr to pfns

I've had ia32-discontigmem under test for a month, uneventfully.  Possibly
because I don't have a machine to test it on....

A major part of this work is a general move to convert the low-level
memory management to consistently use pageframe numbers.  It's a bit
schizo at present..

This patch was written by Martin Bligh.  A version of this patch is in
the 2.4 aa tree.

It changes the unsigned longs node_start_paddr and zone_start_paddr to
page frame numbers.  This is necessary because a PAE address is 36 bits
and cannot be represented in an unsigned long.

 - The per-node physical memory start address node_start_paddr becomes
   a pfn, node_start_pfn.

 - The per-zone physical memory start address zone_start_paddr becomes
   a pfn, zone_start_pfn.

 - free_area_init_node() takes a pfn rather than a physical address.

Patricia has tested this patch on the following configurations: UP,
SMP, SMP PAE, multiquad, multiquad PAE, multiquad DISCONTIGMEM,
multiquad DISCONTIGMEM PAE.

23 years ago[PATCH] place rmap locking in rmap-locking.h
Andrew Morton [Tue, 3 Sep 2002 12:33:46 +0000 (05:33 -0700)]
[PATCH] place rmap locking in rmap-locking.h

The rmap locking inlines are causing some header file
dependency/ordering problems - move them out of page-flags.h and into
their own header file.

23 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Tue, 3 Sep 2002 12:33:14 +0000 (05:33 -0700)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 3 Sep 2002 12:26:51 +0000 (05:26 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years ago[PATCH] 2.5.33 dmi_scan blacklist ibm thinkpad for i2c/sensors
Albert Cranford [Tue, 3 Sep 2002 11:37:22 +0000 (04:37 -0700)]
[PATCH] 2.5.33 dmi_scan blacklist ibm thinkpad for i2c/sensors

This adds IBM thinkpads to a list of mainboards that should not be
scanned by i2c sensors during detection phase.

23 years agoarch/sparc64/kernel/ioctl32.c: Frob cmd in PPPIOCS{PASS,ACTIVE}.
David S. Miller [Tue, 3 Sep 2002 07:56:09 +0000 (00:56 -0700)]
arch/sparc64/kernel/ioctl32.c: Frob cmd in PPPIOCS{PASS,ACTIVE}.

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/network-2.5
David S. Miller [Tue, 3 Sep 2002 07:49:04 +0000 (00:49 -0700)]
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5

23 years agoMerge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
David S. Miller [Tue, 3 Sep 2002 07:47:25 +0000 (00:47 -0700)]
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5

23 years ago[PATCH] bad: schedule() with irqs disabled!
Robert Love [Tue, 3 Sep 2002 05:43:11 +0000 (22:43 -0700)]
[PATCH] bad: schedule() with irqs disabled!

OK, Linus, you are right... there are enough instances of this we are
not going to find them all (although I suspect Andrew's slab.c fixes
will cover most of the cases).  Further, I think we can should actually
purposely call preempt_schedule() in certain cases after interrupt
reenable to check for reschedules...

Let's just make it a rule "no preemption if interrupts are off" and
enforce that.

23 years ago[PATCH] flag type cleanup
Robert Love [Tue, 3 Sep 2002 05:43:06 +0000 (22:43 -0700)]
[PATCH] flag type cleanup

This fixes various instances of the interrupt flag variable not being
the proper `unsigned long', most notably kernel/softirq.c ...

23 years agoMerge home.transmeta.com:/home/torvalds/v2.5/linux
Linus Torvalds [Tue, 3 Sep 2002 05:41:02 +0000 (22:41 -0700)]
Merge home.transmeta.com:/home/torvalds/v2.5/linux
into home.transmeta.com:/home/torvalds/v2.5/sigio

23 years ago[PATCH] sigio/sigurg cleanup for 2.5.32
James Morris [Tue, 3 Sep 2002 05:40:11 +0000 (22:40 -0700)]
[PATCH] sigio/sigurg cleanup for 2.5.32

This is a cleanup of the sigio/sigurg code.

Summary:
  o Removed sk->proc, SIGURG now sent via vfs, credentials checked
    during delivery.
  o SIOCSPGRP etc. ioctls use vfs, and work now for SIGIO as well
    as SIGURG.
  o Removed socket fcntl code.
  o Consolidate lsm file_set_fowner() hooks.
  o Fixed fowner race.
  o Fixed associated mainline memory leak in fcntl_dirnotify().

23 years ago[PATCH] duplicate declaration of pci_lock
Geert Uytterhoeven [Tue, 3 Sep 2002 05:38:35 +0000 (22:38 -0700)]
[PATCH] duplicate declaration of pci_lock

Kill duplicate declaration of pci_lock

23 years agoMerge two similar fixes
Linus Torvalds [Tue, 3 Sep 2002 05:34:30 +0000 (22:34 -0700)]
Merge two similar fixes

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.make
Linus Torvalds [Tue, 3 Sep 2002 05:32:18 +0000 (22:32 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.make
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge http://linux-isdn.bkbits.net/linux-2.5.isdn
Linus Torvalds [Tue, 3 Sep 2002 05:31:20 +0000 (22:31 -0700)]
Merge http://linux-isdn.bkbits.net/linux-2.5.isdn
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 3 Sep 2002 05:20:36 +0000 (22:20 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoMerge kiwi:v2.5/linux into home.transmeta.com:/home/torvalds/v2.5/linux
Linus Torvalds [Tue, 3 Sep 2002 05:19:25 +0000 (22:19 -0700)]
Merge kiwi:v2.5/linux into home.transmeta.com:/home/torvalds/v2.5/linux

23 years agoFix floppy driver end_request() handling - it used to do insane
Linus Torvalds [Tue, 3 Sep 2002 05:08:18 +0000 (22:08 -0700)]
Fix floppy driver end_request() handling - it used to do insane
contortions instead of just calling "end_that_request_first()" with
the proper sector count.

23 years agoMajor partial request completion boo-boo in the bio layer.
Linus Torvalds [Tue, 3 Sep 2002 03:53:35 +0000 (20:53 -0700)]
Major partial request completion boo-boo in the bio layer.

This was _bad_. Major floppy corruption, and possibly the reason
for other block device corruption for any driver that generated
partial results for a block device request.

23 years agoarch/sparc64/lib/VIScsum.S: Fix endianness bugs in previous change.
David S. Miller [Mon, 2 Sep 2002 21:48:26 +0000 (14:48 -0700)]
arch/sparc64/lib/VIScsum.S: Fix endianness bugs in previous change.

23 years agodrivers/net/ppp_generic.c: Revert my idiotic unaligned SKB changes.
David S. Miller [Mon, 2 Sep 2002 21:29:32 +0000 (14:29 -0700)]
drivers/net/ppp_generic.c: Revert my idiotic unaligned SKB changes.

23 years agoarch/sparc64/lib/VIScsum.S: Do not use VIS on oddly aligned buffer.
David S. Miller [Mon, 2 Sep 2002 21:26:03 +0000 (14:26 -0700)]
arch/sparc64/lib/VIScsum.S: Do not use VIS on oddly aligned buffer.

23 years agoFix sonipi driver to not do __FUNCTION__ pasting.
Linus Torvalds [Mon, 2 Sep 2002 20:55:23 +0000 (13:55 -0700)]
Fix sonipi driver to not do __FUNCTION__ pasting.

23 years agoJFS: Don't include <linux/smp_lock.h> in jfs_dtree.c
Christoph Hellwig [Mon, 2 Sep 2002 14:54:21 +0000 (16:54 +0200)]
JFS: Don't include <linux/smp_lock.h> in jfs_dtree.c

23 years agoJFS: remove superflous return at the end of lbmIODone
Christoph Hellwig [Mon, 2 Sep 2002 13:10:03 +0000 (15:10 +0200)]
JFS: remove superflous return at the end of lbmIODone

23 years agoJFS: remove superflous externs for generic_file_ functions
Christoph Hellwig [Mon, 2 Sep 2002 13:07:58 +0000 (15:07 +0200)]
JFS: remove superflous externs for generic_file_ functions