16 years ago[PATCH] 2.5.17 IDE 70
Martin Dalecki [Fri, 24 May 2002 04:16:28 +0000 (21:16 -0700)]
[PATCH] 2.5.17 IDE 70

 - Apply host chip driver cleanups by Bartomiej Zonierkiewicz.

 - Take the draft device type driver implementation from Adam Richter and make
    it actually work with some of the drivers we have at hand. Quite a lot
    of it was fixed by me as well to have the desired effects.

    We have added a attach method for the sub device type drivers to make it
    possible dor sub device type drivers to attach devices to the overall
    infrastructure. UNIX has something like this SCSI code is implementing
    something like this, just for some unknown reasons Linux block device
    operations don't have it...

 - ide_drive_t is finally gone. Please use struct ata_device instead.

    Hint the ide.h specific byte type should go over time as well, sine there
    is no need to invent something already handled by the kernel. Please use
    the unambigious u8 type instead where possible.

 - Add a bit of documentation about cabling issues. ide.txt needs a lot of
   improvement at some time still.

16 years ago[PATCH] 2.5.17 IDE 69
Martin Dalecki [Wed, 22 May 2002 04:41:48 +0000 (21:41 -0700)]
[PATCH] 2.5.17 IDE 69

 - Apply small host chip driver cosmetics by Andrej xxx Panin
   and Vojtech Pavlik.

 - Remove support for "disc recovery time". It could only supposedly
   help with really simplistic broken devices from the past,
   which didn't have moderately sophisticated controllers.
   And finally Vojtech voted for it as well... so I just trust him.

 - Apply icside host chip driver and other ARM related updates by Russell King,
   which finally settle the "portability" work a bit, well hopefully.

16 years ago[PATCH] 2.5.16 IDE 68
Martin Dalecki [Wed, 22 May 2002 04:24:23 +0000 (21:24 -0700)]
[PATCH] 2.5.16 IDE 68

 - Make the different ATAPI device type drivers use a unified packet command
   structure. We have to start to push them together.

This patch is rather trivial in itself, but the plentora of code duplication it
is trying to fight against is making it unfortunately rather big...

16 years ago[PATCH] 2.5.17 IDE 67
Martin Dalecki [Wed, 22 May 2002 04:23:28 +0000 (21:23 -0700)]
[PATCH] 2.5.17 IDE 67

 - Nuke COMMERIAL and similar spurious configuration options...
   The fact that every single default configuration option contained
   those bits makes this trivial patch appear rather big.

16 years ago[PATCH] 2.5.17 IDE 66
Martin Dalecki [Wed, 22 May 2002 04:22:11 +0000 (21:22 -0700)]
[PATCH] 2.5.17 IDE 66

 - Move ll_10byte_cmd_build to the only place where it's used: ide-cd.  The SCSI
   layer does have it's own implementation which additionally it's messing
   around with the hard_nr_sectors struct request value.  One should *not*
   provide "infrastructure" until its really used as such.

   If anywhere this should reside in a file called ATAPI.

 - Unfold the INIT_REQUEST macro from blk.h. This showed up plenty of duplicate
   checks for QUEUE_EMPTY. Clean them as well. Remove the over cautious
   major(CURRENT->rq_dev != MAJOR_NR) checks. During the last several years I
   never saw any report about it. Looking at the !CURRENT->bio it is clear that
   dereferencing NULL will provide the same kind of panic as the check.  Some
   comments around the code in question show nicely that indeed INIT_REQUEST
   was a good example of code obfuscation.

 - A short look at RQ_INACTIVE shows that it is only used inside the scsi.c file
   and during the removal of devices. This shows that the many checks for
   RQ_INACTIVE are not necessary. Looking closer even shows that some of them
   did happen before checks for an empty queue. Plenty of drivers didn't care
   about it and the CD-ROM ones should be handled properly, because the
   most common drivers would fail as well. Comments indicate that this
   was an leftover from 1.3 days...

16 years ago[PATCH] 2.5.17 IDE 65
Martin Dalecki [Wed, 22 May 2002 04:22:01 +0000 (21:22 -0700)]
[PATCH] 2.5.17 IDE 65

 - Apply cleanup of host chip drivers by Bartomiej Zonierkiewicz:

     affected drivers - aec62xx.c, alim15x3.c, cmd64x.c, hpt34x.c, sis5513.c

     new tuning scheme (wip) part 1:
- introduce ratemask()
- use ata_timing_mode()
- use ide_config_drive_speed() return value

     forward port from convert.10:
- support for AEC6280, AEC6280R
- misc cleanups

     I had to fix a small typo in sis5513 code...

 - Add a new entry for an old VIA cell hiding as something new.
   (Pointed out by Kees Bakker.)

 - Make the synchronization token active resident on the same level as the
   spin lock. They interact with each other.

 - Synchronize with linux-2.5.17.

 - HPT366 driver typo fix by Andries Brouwer.

 - Export udma_tcq_enable() symbol right now. The blk_get_request() is undefined
   as well.

16 years ago[PATCH] rd.c blocksize handling
Alexander Viro [Wed, 22 May 2002 04:13:14 +0000 (21:13 -0700)]
[PATCH] rd.c blocksize handling

Unlike other drivers, rd.c wants block size to be set once an
forever (for everybody else setting block size as high as possible and
letting filesystems change it with set_blocksize() is OK; rd.c treats
invalidate_buffers() as "kill the ramdisk contents".

16 years ago[PATCH] new helpers for /proc
Alexander Viro [Wed, 22 May 2002 04:13:05 +0000 (21:13 -0700)]
[PATCH] new helpers for /proc

new helpers for seq_file - for cases where we don't have a non-trivial
iterator and just want to use seq_{printf,putc,...}.

16 years ago[PATCH] clean up readdir() for in-memory
Alexander Viro [Wed, 22 May 2002 04:12:54 +0000 (21:12 -0700)]
[PATCH] clean up readdir() for in-memory

sane readdir() for ramfs-style filesystems

16 years ago[PATCH] kill ->i_op->revalidate()
Alexander Viro [Wed, 22 May 2002 04:12:46 +0000 (21:12 -0700)]
[PATCH] kill ->i_op->revalidate()

kill ->i_op->revalidate()

16 years ago[PATCH] remove s390 procfs abuses
Alexander Viro [Wed, 22 May 2002 04:12:37 +0000 (21:12 -0700)]
[PATCH] remove s390 procfs abuses

massive crapectomy in s390 code - removed procfs abuses

16 years ago[PATCH] add proper ->getattr()
Alexander Viro [Wed, 22 May 2002 04:12:28 +0000 (21:12 -0700)]
[PATCH] add proper ->getattr()

 add proper ->getattr(), clean up do_getattr() and friends.

16 years agoMake the pte unmapping atomic wrt other threads.
Linus Torvalds [Tue, 21 May 2002 14:11:30 +0000 (07:11 -0700)]
Make the pte unmapping atomic wrt other threads.

16 years agoMerge
Linus Torvalds [Tue, 21 May 2002 11:00:53 +0000 (04:00 -0700)]

16 years ago[PATCH] remove preempt_disable from pdflush
Robert Love [Tue, 21 May 2002 11:00:36 +0000 (04:00 -0700)]
[PATCH] remove preempt_disable from pdflush

It seems by the comments the statements were only there to prevent the
thread from finding itself as TASK_RUNNING after a kernel preemption.
Since we reverted to the original preemption behavior (which does not do
that) it should be safe.  Looking over the code confirms - it seems to
not be doing anything evil and is properly locked otherwise.

16 years ago[PATCH] One more fix for swsusp
Pavel Machek [Tue, 21 May 2002 10:56:30 +0000 (03:56 -0700)]
[PATCH] One more fix for swsusp

As andrew pointed out, it is bad idea to run_task_queue() when
spinlock is held. This fixes it (only could be triggered by user
pressing Magic-D). There's minor problem left where Magic-D could be
delayed/ignored under high load. I'll either fix that or kill Magic-D
support (with acpi, it is very easy to trigger swsusp by echo 4 >
/proc/acpi/sleep, so magic key is probably not neccessary any more).

16 years ago[PATCH] get/put_cpu methods
Robert Love [Tue, 21 May 2002 10:21:43 +0000 (03:21 -0700)]
[PATCH] get/put_cpu methods

This implements a get_cpu() and matching put_cpu() to safely hand out
the current CPU to avoid preempt races.  Andrew and I have been bitching
about the need for such a method.

I also went ahead and replaced an example of current explicit
preempt-off with the new methods, as a case in point.

16 years ago[PATCH] more suspend-to-{RAM,disk} fixes
Pavel Machek [Tue, 21 May 2002 10:20:42 +0000 (03:20 -0700)]
[PATCH] more suspend-to-{RAM,disk} fixes

One more build fix, this time for !CONFIG_SOFTWARE_SUSPEND but

I've choosen this solution for now, as it is safest for ACPI people.
I'll modify suspend.c so that freezing part can be included without
whole suspend-to-disk support being included.

16 years ago[PATCH] suspend-to-{RAM,disk} fixup
Pavel Machek [Tue, 21 May 2002 10:20:30 +0000 (03:20 -0700)]
[PATCH] suspend-to-{RAM,disk} fixup

Fix compile problem with suspending diabled

16 years ago[PATCH] suspend-to-{RAM,disk}
Pavel Machek [Tue, 21 May 2002 08:57:49 +0000 (01:57 -0700)]
[PATCH] suspend-to-{RAM,disk}

Here's suspend-to-{RAM,disk} combined patch for
2.5.17. Suspend-to-disk is pretty stable and was tested in
2.4-ac. Suspend-to-RAM is little more experimental, but works for me,
and is certainly better than disk-eating version currently in kernel.

Major parts are: process stopper, S3 specific code, S4 specific

16 years agoMerge
Linus Torvalds [Tue, 21 May 2002 08:50:25 +0000 (01:50 -0700)]

16 years agoMerge
Kai Germaschewski [Tue, 21 May 2002 12:27:19 +0000 (07:27 -0500)]

16 years agoMerge
Linus Torvalds [Tue, 21 May 2002 08:49:42 +0000 (01:49 -0700)]

16 years agokbuild: Restore build nr, improve vmlinux link
Kai Germaschewski [Tue, 21 May 2002 12:26:45 +0000 (07:26 -0500)]
kbuild: Restore build nr, improve vmlinux link

People relied on the build generation number to find out if they actually
booted the right kernel, only incrementing it on config changes isn't
enough for them. So this patch goes back to the old behavior, only done
right this time:

We now don't increment the generation number on every invocation of make,
but on every link of vmlinux. At the same time, this patch fixes the
Makefile to only relink vmlinux if any of its prequisite object files
(or the command line) changed. Incrementing the version number
happens *after* we decided to relink vmlinux.

16 years agokbuild: Regenerate include/linux/version.h only if necessary
Kai Germaschewski [Tue, 21 May 2002 12:20:10 +0000 (07:20 -0500)]
kbuild: Regenerate include/linux/version.h only if necessary

Before overwriting version.h, check if it actually changed - otherwise
we will unnecessarily rebuild a lot of files, as e.g. module.h depends
on version.h, and many files include module.h

16 years agoMerge bk://
Linus Torvalds [Tue, 21 May 2002 08:49:02 +0000 (01:49 -0700)]
Merge bk://

16 years ago[PATCH] Update to srm_env.c driver (for Alpha arch.)
Jan-Benedict Glaw [Tue, 21 May 2002 08:48:19 +0000 (01:48 -0700)]
[PATCH] Update to srm_env.c driver (for Alpha arch.)

Hi Linus!

Please apply this patch. It updates the srm_env.c driver (to access
Alpha's SRM environment variables) to its current version (which is
already included in up-to-date 2.4.x kernels).


16 years ago[PATCH] remaining cpu_has cleanups
Brian Gerst [Tue, 21 May 2002 08:15:50 +0000 (01:15 -0700)]
[PATCH] remaining cpu_has cleanups

This patch cleans up the remaining direct tests against x86_capability.
      It moves the cpu_has_* macros to the more appropriate
cpufeature.h.  It also introduces the cpu_has() macro to test features
for individual cpus.

16 years ago[PATCH] cpu_has_tsc
Brian Gerst [Tue, 21 May 2002 08:15:41 +0000 (01:15 -0700)]
[PATCH] cpu_has_tsc

This patch converts drivers/char/random.c and
drivers/input/joystick/analog.c to use the cpu_has_tsc macro.

16 years ago[PATCH] cpu_has_mmx
Brian Gerst [Tue, 21 May 2002 08:15:32 +0000 (01:15 -0700)]
[PATCH] cpu_has_mmx

This patch takes the cpu_has_mmx macro introduced in the xor.h header
and puts it in the proper place.  It also converts the ov511 driver to
use the new macro.

16 years ago[PATCH] usb-storage
Andries E. Brouwer [Tue, 21 May 2002 07:13:26 +0000 (00:13 -0700)]
[PATCH] usb-storage

Created the first of a series of usb-storage patches
this afternoon. Please find it below or on
under people/aeb/2.5.16-us-patch .
It removes 5% of the usb-storage code, but should, if I made
no mistake, not affect the behaviour of the code.

(This is the introduction of raw_bulk.c to hold USB-bulk
and scatter-gather code that was repeated three-five times
in various drivers. The next patch is smartmedia.c.)

16 years ago[PATCH] USB Makefile bug fix
Greg Kroah-Hartman [Tue, 21 May 2002 07:13:05 +0000 (00:13 -0700)]
[PATCH] USB Makefile bug fix

fixed problem with UHCI_HCD drivers set to 'y' were not causing the build
to go into the drivers/usb/host directory.

16 years ago[PATCH] USB pegasus driver, new vendor and device id.
Petko Manolov [Tue, 21 May 2002 07:12:49 +0000 (00:12 -0700)]
[PATCH] USB pegasus driver, new vendor and device id.

new vendor and device ID

16 years ago[PATCH] jfs_readdir does not need to grab BKL
Dave Kleikamp [Tue, 21 May 2002 06:49:08 +0000 (23:49 -0700)]
[PATCH] jfs_readdir does not need to grab BKL

16 years ago[PATCH] JFS external journal support
Dave Kleikamp [Tue, 21 May 2002 06:49:01 +0000 (23:49 -0700)]
[PATCH] JFS external journal support

Additional support for external journal.  We're basically adding uuid's
to both the file system and the journal to tie the two together.

16 years agoMove check_pgt_cache() to tlb_finish_mmu().
Linus Torvalds [Tue, 21 May 2002 05:05:02 +0000 (22:05 -0700)]
Move check_pgt_cache() to tlb_finish_mmu().

It should be _after_ we have flushed the TLB.

16 years agokbuild: aic7xxx firmware build should not overwrite shipped files
Kai Germaschewski [Tue, 21 May 2002 04:57:45 +0000 (23:57 -0500)]
kbuild: aic7xxx firmware build should not overwrite shipped files

o Add dependencies on generated files explicitly to the
  aic7xxx Makefile - These cannot be figured out

o Rename the precompiled firmware files to
  shipped_aic7xxx_{reg,seq}.h, so that we don't overwrite
  shipped files when regenerating the firmware

16 years ago[PATCH] reiserfs 64 bit bug in get_virtual_node_size
Chris Mason [Tue, 21 May 2002 04:43:46 +0000 (21:43 -0700)]
[PATCH] reiserfs 64 bit bug in get_virtual_node_size

This patch fixes a problem with reiserfs on 64 bit machines.  Our
struct virtual_item is a different size there, and some calculations
that assume otherwise lead to this panic create_virtual_node:

vs-8030: create_virtual_node: virtual node space consumed

16 years ago[PATCH] bfs header move around + warning fix
Christoph Hellwig [Tue, 21 May 2002 04:39:34 +0000 (21:39 -0700)]
[PATCH] bfs header move around + warning fix

(Patch has been ACKed by the bfs maintainer)

Now that bfs no more is included in the big unions in fs.h it makes
sense to move the contents of bfs_fs_i.h and bfs_fs_sb.h to a bfs-private
location.  I've created fs/bfs/bfs.h for that, also merging in bfs_defs.h.

In addition I've changed si_imap to an unsigned long pointer as the bitops
now use that type explicitly.

16 years ago[PATCH] fix sr compile warnings
Christoph Hellwig [Tue, 21 May 2002 04:39:14 +0000 (21:39 -0700)]
[PATCH] fix sr compile warnings

Remove an unused label and an unused variable.

16 years ago[PATCH] fix bitop warnings in parallel port generic driver
Christoph Hellwig [Tue, 21 May 2002 04:39:06 +0000 (21:39 -0700)]
[PATCH] fix bitop warnings in parallel port generic driver

pg tried to issue bitops on int, this fixes it to use an ulong instead.

16 years ago[PATCH] Tasklet cleanup
Rusty Russell [Tue, 21 May 2002 04:36:50 +0000 (21:36 -0700)]
[PATCH] Tasklet cleanup

This makes tasklet_vec and tasklet_hi_vec static inside softirq.c, and
makes them __per_cpu_data.

16 years ago[PATCH] Futex update.
Rusty Russell [Tue, 21 May 2002 04:36:42 +0000 (21:36 -0700)]
[PATCH] Futex update.

This changes futex semantics to a simple "sleep if this address
equals this value" interface, which is more convenient for building
other primitives.  It also adds a timeout value.

Example library can be found at:

16 years agoMerge
Linus Torvalds [Tue, 21 May 2002 04:35:01 +0000 (21:35 -0700)]

16 years ago[PATCH] buffermem_pages removal (5/5)
Christoph Hellwig [Tue, 21 May 2002 04:32:52 +0000 (21:32 -0700)]
[PATCH] buffermem_pages removal (5/5)

No more users of buffermem_pages are left, remove it.
While at it also remove some orphaned externs around it in swap.h

16 years ago[PATCH] buffermem_pages removal (4/5)
Christoph Hellwig [Tue, 21 May 2002 04:32:42 +0000 (21:32 -0700)]
[PATCH] buffermem_pages removal (4/5)

This is the most discussion-worthy patch of the series:  Change the
meaning of si_meminfo->bufferram from "all pages in pagecache
backed by block devices" to "all pages in pagecache".

In the header/manpage is is documented as "Memory used by buffers",
but as the buffercache is gone I think the new meaning fits the
intention from pre-pagecache days much better.

16 years ago[PATCH] buffermem_pages removal (3/5)
Christoph Hellwig [Tue, 21 May 2002 04:32:34 +0000 (21:32 -0700)]
[PATCH] buffermem_pages removal (3/5)

This one is a bit more controveral as it may break stupid userlevel
programs:  remove the 'Buffers' field from /proc/meminfo and make
the Cached field show the full pagecache size instead of subtracting
the block-device backed pages.

All /proc/meminfo-using programs I have (free, top) still work fine.

16 years ago[PATCH] buffermem_pages removal (2/5)
Christoph Hellwig [Tue, 21 May 2002 04:32:27 +0000 (21:32 -0700)]
[PATCH] buffermem_pages removal (2/5)

Remove buffermem_pages showing from sgi serial code (debug only).

16 years ago[PATCH] buffermem_pages removal (1/5)
Christoph Hellwig [Tue, 21 May 2002 04:32:19 +0000 (21:32 -0700)]
[PATCH] buffermem_pages removal (1/5)

With all work done by akpm in 2.5 Linus no more has a buffer cache
in the traditional sense.  Still we try to keep estimates about
what would be the buffer cache size by keeping the number of pages
indexed by block device inodes.  This is broken not only because the
old buffercache was also used for file data which is nowdays not
hashed to block device inodes and thus makes every user of this data
assume wrong numbers.  Second is is possible to use block device
pages not through the buffer_head interface (i.e. userspace
block device nodes, possibly JFS also soon).  In addition the atomic_t
used for this bookkepping (buffermem_pages) causes cacheline bouncing
on larger machines.

This is the first patch of a series to get rid of it.  It removes the
useless output of supposedly buffer pages in show_mem(), which is used
by the magic sysrq key code.

16 years agokbuild: Stop immediately on error
Kai Germaschewski [Tue, 21 May 2002 04:26:23 +0000 (23:26 -0500)]
kbuild: Stop immediately on error

This patch restores the previous behavior of stopping the build
immediately on error (unless the -k option is given to make)

Before this patch, we would do the echo command no matter if the
compile failed, thus returning success always.

(Jan Harkes)

16 years agoMerge
Kai Germaschewski [Mon, 20 May 2002 19:20:56 +0000 (14:20 -0500)]

16 years agoMerge
Kai Germaschewski [Mon, 20 May 2002 18:58:34 +0000 (13:58 -0500)]

16 years agokbuild: Make USE_STANDARD_AS_RULE default
Kai Germaschewski [Mon, 20 May 2002 18:57:01 +0000 (13:57 -0500)]
kbuild: Make USE_STANDARD_AS_RULE default

16 years agoFix building .i / .s files for testing
Kai Germaschewski [Mon, 20 May 2002 17:40:56 +0000 (12:40 -0500)]
Fix building .i / .s files for testing

E.g. make arch/i386/kernel/process.[is] used to work at least
in the cases where the object wouldn't need any additional command
line flags defined in the local subdir.

Get back this behavior, I think I know how to do this correctly, too,
but that's for later.

16 years agoFix UTS_MACHINE
Kai Germaschewski [Mon, 20 May 2002 17:29:51 +0000 (12:29 -0500)]

Remove the default for UTS_MACHINE, it gets set in
include/linux/compile.h, just as UTS_RELEASE.

(noticed by David Gibson)

16 years agoMake generic TLB shootdown friendlier to non-x86 architectures
Linus Torvalds [Mon, 20 May 2002 14:34:26 +0000 (07:34 -0700)]
Make generic TLB shootdown friendlier to non-x86 architectures

16 years ago[PATCH] Missing init.h in drivers/pci/power.c
David Gibson [Mon, 20 May 2002 13:01:56 +0000 (06:01 -0700)]
[PATCH] Missing init.h in drivers/pci/power.c

This adds a #include to drivers/pci/power.c to define __init.  At least
on PPC4xx this fixes compile problems.

16 years agoFix double i_writecount handling (Tony Luck)
Linus Torvalds [Mon, 20 May 2002 13:01:40 +0000 (06:01 -0700)]
Fix double i_writecount handling (Tony Luck)

16 years agoClean up %cr3 loading on x86, fix lazy TLB problem
Linus Torvalds [Mon, 20 May 2002 12:58:03 +0000 (05:58 -0700)]
Clean up %cr3 loading on x86, fix lazy TLB problem

16 years agoMerge
Linus Torvalds [Mon, 20 May 2002 05:48:18 +0000 (22:48 -0700)]

16 years agokbuild: Speed up vmlinux build
Kai Germaschewski [Mon, 20 May 2002 09:22:57 +0000 (04:22 -0500)]
kbuild: Speed up vmlinux build

The recursive build used to do the following: On entering a directory,
we would first call make in the subdirectories listed in $(subdir-y),
and then call make in the current directory again, with the target

The second invocation was used to make sure that the subdir makes completed
before trying to build the O_TARGET/L_TARGET in the current dir, since
this would link in objects in these subdirectories.

However, using correct dependencies achieves the same, i.e. just
make the objects in $(obj-y) which are not in the local subdirectory
depend on 'sub_dirs', which is the rule to descend into subdirs.

This patch actually halves the time "make vmlinux" takes when there's
nothing to do (which makes sense, as we save half of the make invocations)

16 years agokbuild: Remove generated .<object>.cmd files on 'make clean'
Kai Germaschewski [Mon, 20 May 2002 09:16:00 +0000 (04:16 -0500)]
kbuild: Remove generated .<object>.cmd files on 'make clean'

16 years agokbuild: Standardize building of init/*
Kai Germaschewski [Mon, 20 May 2002 09:14:59 +0000 (04:14 -0500)]
kbuild: Standardize building of init/*

There's no good reason to build the objects in init/ explicitly from
the top-level Makefile. Instead, handle init/ like every other
subdir, which also provides the automatic checks for a changed
command line etc.

16 years agoMerge
Linus Torvalds [Mon, 20 May 2002 05:38:20 +0000 (22:38 -0700)]

16 years agoFix some compiler warnings
Kai Germaschewski [Mon, 20 May 2002 08:59:06 +0000 (03:59 -0500)]
Fix some compiler warnings

Fix some trivial variable/functions/label defined (static) but not used

16 years agoFix ext2 compilation
Kai Germaschewski [Mon, 20 May 2002 08:56:29 +0000 (03:56 -0500)]
Fix ext2 compilation

Removal of locks.h broke the build due to missing definition of capable()
and current.

16 years agoNew makefiles generate .*.cmd files, not .*.flags files
Linus Torvalds [Mon, 20 May 2002 05:23:12 +0000 (22:23 -0700)]
New makefiles generate .*.cmd files, not .*.flags files

16 years agoMerge
Linus Torvalds [Mon, 20 May 2002 05:09:19 +0000 (22:09 -0700)]

16 years agoMerge
Kai Germaschewski [Mon, 20 May 2002 08:30:24 +0000 (03:30 -0500)]

16 years ago[PATCH] ips for 2.5
Jack Hammer [Mon, 20 May 2002 05:08:33 +0000 (22:08 -0700)]
[PATCH] ips for 2.5

ips driver update ( version 5.10.13-BETA )

16 years agoUpdate kernel version to 2.5.17
Linus Torvalds [Mon, 20 May 2002 05:08:19 +0000 (22:08 -0700)]
Update kernel version to 2.5.17

16 years agoFix OSS API emulation when sound is compiled as a module
Linus Torvalds [Mon, 20 May 2002 05:07:20 +0000 (22:07 -0700)]
Fix OSS API emulation when sound is compiled as a module

16 years ago[PATCH] get rid of <linux/locks.h>
Christoph Hellwig [Mon, 20 May 2002 02:40:16 +0000 (19:40 -0700)]
[PATCH] get rid of <linux/locks.h>

The lock.h header contained some hand-crafted lcoking routines from
the pre-SMP days.  In 2.5 only lock_super/unlock_super are left,
guarded by a number of completly unrelated (!) includes.

This patch moves lock_super/unlock_super to fs.h, which defined
struct super_block that is needed for those to operate it, removes
locks.h and updates all caller to not include it and add the missing,
previously nested includes where needed.

16 years agoMerge quota update from Jan Kara
Linus Torvalds [Mon, 20 May 2002 02:37:22 +0000 (19:37 -0700)]
Merge quota update from Jan Kara

16 years ago[PATCH] [13/13] quota-13-ioctl
Jan Kara [Mon, 20 May 2002 02:34:49 +0000 (19:34 -0700)]
[PATCH] [13/13] quota-13-ioctl

This patch implements ioctl() for getting space used by file.
I agree it's ioctl() abuse, it doesn't work on links and has
other ugly properties. Better would be to change 'struct stat'
but changing it just due to this is overkill and it will take
some time before there will be enough changes which will provoke
yet another struct stat :). So this is temporary solution...
If you don't like it, simply reject it. The function it provides
is not fundamental...

So that should be all patches. Any comments (or decision about
including/not including) welcome.

16 years ago[PATCH] [12/13] quota-12-compat
Jan Kara [Mon, 20 May 2002 02:34:44 +0000 (19:34 -0700)]
[PATCH] [12/13] quota-12-compat

This patch implements configurable backward compatible quota interface.
Maybe this isn't needed in 2.5 but as some people want to use patches
in 2.4 where it's necessary I have implemented it.

16 years ago[PATCH] [11/13] quota-11-sync
Jan Kara [Mon, 20 May 2002 02:34:39 +0000 (19:34 -0700)]
[PATCH] [11/13] quota-11-sync

Implemented proper syncing of dquots - ie. also global information
about quota files are synced. We find info to sync by walking through
all superblocks...

16 years ago[PATCH] [10/13] quota-10-inttype
Jan Kara [Mon, 20 May 2002 02:34:35 +0000 (19:34 -0700)]
[PATCH] [10/13] quota-10-inttype

Remove use of 'short' in parameters of functions. 'int' is used instead.

16 years ago[PATCH] [9/13] quota-9-format2
Jan Kara [Mon, 20 May 2002 02:34:29 +0000 (19:34 -0700)]
[PATCH] [9/13] quota-9-format2

Implementation of new quota format. The code is almost the same
as in -ac versions of kernel. All the code for new format is in

16 years ago[PATCH] [8/13] quota-8-format1
Jan Kara [Mon, 20 May 2002 02:34:25 +0000 (19:34 -0700)]
[PATCH] [8/13] quota-8-format1

Implementation of old quota format. All the code for old format is now in
quota_v1.c. Code mostly remained the same as in older kernels (just minor
changes were needed to bind it with quota interface).

16 years ago[PATCH] [7/13] quota-7-quotactl
Jan Kara [Mon, 20 May 2002 02:34:20 +0000 (19:34 -0700)]
[PATCH] [7/13] quota-7-quotactl

This is probably the largest chunk in quota patches. It removes old quotactl interface
and implements new one. New interface should not need arch specific conversions so they
are removed. All quota interface stuff is moved to quota.c so we can
easily separate things which should be compiled even if quota is disabled (mainly
because XFS needs some interface even if standard VFS quota is disabled).
Callbacks to filesystem on quota_on() and quota_off() are implemented (needed by Ext3),
quota operations callbacks are now set in super.c on superblock initialization and
not on quota_on(). This way it starts to make sense to have callbacks on alloc_space(),
alloc_inode() etc. as filesystem can override them on read_super(). This will be used
later for implementing journalled quota.

16 years ago[PATCH] [6/13] quota-6-bytes
Jan Kara [Mon, 20 May 2002 02:34:14 +0000 (19:34 -0700)]
[PATCH] [6/13] quota-6-bytes

This patch implements counting of used space in inodes in bytes.
New field i_bytes is added and used space modulo 512 is kept in
it (rest is still kept in i_blocks). Functions manipulating both
i_blocks and i_bytes are implemented (inode_add_bytes(), inode_sub_bytes()
and inode_set_bytes()). Filesystems allocating only in whole blocks
can safely ignore i_bytes field and continue using i_blocks...

16 years ago[PATCH] [5/13] quota-5-space
Jan Kara [Mon, 20 May 2002 02:34:10 +0000 (19:34 -0700)]
[PATCH] [5/13] quota-5-space

This patch implements accounting of used space in bytes.

16 years ago[PATCH] [4/13] quota-4-getstats
Jan Kara [Mon, 20 May 2002 02:34:05 +0000 (19:34 -0700)]
[PATCH] [4/13] quota-4-getstats

  This patch moves reporting of quota statistics from Q_GETSTATS call to
/proc/fs/quota. Also reporting of registered quota formats is added.

16 years ago[PATCH] [3/13] quota-3-register
Jan Kara [Mon, 20 May 2002 02:34:00 +0000 (19:34 -0700)]
[PATCH] [3/13] quota-3-register

  This patch implements list 'quota_formats' with registered quota formats
and functions register_quota_format() and unregister_quota_format() for
manipulating the list.

16 years ago[PATCH] [2/13] quota-2-formats
Jan Kara [Mon, 20 May 2002 02:33:56 +0000 (19:33 -0700)]
[PATCH] [2/13] quota-2-formats

This patch removes most format dependent code from dquot.c and quota.h
and puts calls of callback functions instead.

16 years ago[PATCH] [1/13] quota-1-newlocks
Jan Kara [Mon, 20 May 2002 02:33:51 +0000 (19:33 -0700)]
[PATCH] [1/13] quota-1-newlocks

  This patch adds dq_dup_ref to struct dquot. Functions altering just usage of
quota take just this duplicated reference, inodes, quotactl() helpers take real
dq_count reference. dqput() blocks if there are some duplicated references and
put reference is last 'real one'. This way is assured that quota IO is not
done from functions altering quota usage (quota structure is written on last dqput()).

16 years agoMerge
Linus Torvalds [Mon, 20 May 2002 02:26:35 +0000 (19:26 -0700)]

16 years ago[PATCH] iget_locked [6/6]
Jan Harkes [Mon, 20 May 2002 02:25:21 +0000 (19:25 -0700)]
[PATCH] iget_locked  [6/6]

As of the last patch the inode_hashtable doesn't really need to be
indexed by i_ino anymore, the only reason we still have to keep the
hashvalue and i_ino identical is because of insert_inode_hash.

If at some point a FS specific getattr method is implemented it will be
possible to completely remove any use of i_ino by the VFS.

16 years ago[PATCH] iget_locked [5/6]
Jan Harkes [Mon, 20 May 2002 02:25:16 +0000 (19:25 -0700)]
[PATCH] iget_locked  [5/6]

This patch starts taking i_ino dependencies out of the VFS. The FS
provided test and set callbacks become responsible for testing and
setting inode->i_ino.

Because most filesystems are based on 32-bit unique inode numbers
several functions are duplicated to keep iget_locked as a fast path. We
can avoid unnecessary pointer dereferences and function calls for this
specific case.

16 years ago[PATCH] iget_locked [4/6]
Jan Harkes [Mon, 20 May 2002 02:25:12 +0000 (19:25 -0700)]
[PATCH] iget_locked  [4/6]

Now that we have no more users of iget4 we can kill the function and the
associated read_inode2 callback (i.e. the 'reiserfs specific hack').

Document iget5_locked as the replacement for iget4 in filesystems/porting.

16 years ago[PATCH] iget_locked [3/6]
Jan Harkes [Mon, 20 May 2002 02:25:07 +0000 (19:25 -0700)]
[PATCH] iget_locked  [3/6]

Convert existing filesystems (Coda/NFS/ReiserFS) that currently use
iget4 to iget5_locked.

16 years ago[PATCH] iget_locked [2/6]
Jan Harkes [Mon, 20 May 2002 02:25:02 +0000 (19:25 -0700)]
[PATCH] iget_locked  [2/6]

Now we introduce iget_locked and iget5_locked. These are similar to
iget, but return a locked inode and read_inode has not been called. So
the FS has to call read_inode to initialize the inode and then unlock
it with unlock_new_inode().

This patch is based on the icreate patch from the XFS group, i.e.
it is pretty much identical except for function naming.

16 years ago[PATCH] iget_locked [1/6]
Jan Harkes [Mon, 20 May 2002 02:24:57 +0000 (19:24 -0700)]
[PATCH] iget_locked  [1/6]

Fix a race in iget4. The fs specific data that is used to find an inode
should be initialized while still holding the inode lock.

It adds a 'set' callback function that should be a non-blocking FS
provided function which initializes the private parts of the inode so
that the 'test' callback function can correctly match new inodes.

Touches all filesystems that use iget4 (Coda/NFS/ReiserFS).

16 years agoMerge
Linus Torvalds [Mon, 20 May 2002 01:54:17 +0000 (18:54 -0700)]

16 years agodrivers/char/*
Arnaldo Carvalho de Melo [Sun, 19 May 2002 20:49:34 +0000 (17:49 -0300)]

- fix copy_{to,from}_user error handling, thanks to Rusty to pointing this out on lkml

16 years agodrivers/block/*.c
Arnaldo Carvalho de Melo [Sun, 19 May 2002 19:01:22 +0000 (16:01 -0300)]

  - fix copy_{to,from}_user error handling, thanks to Rusty for
    pointing this out on lkml

16 years ago[PATCH] remove PG_launder
Andrew Morton [Sun, 19 May 2002 09:23:27 +0000 (02:23 -0700)]
[PATCH] remove PG_launder

Removal of PG_launder.

It's not obvious (to me) why this ever existed.  If it's to prevent
deadlocks then I'd like to know who was performing __GFP_FS allocations
while holding a page lock?

But in 2.5, the only memory allocations which are performed when the
caller holds PG_writeback against an unsubmitted page are those which
occur inside submit_bh().  There will be no __GFS_FS allocations in
that call chain.

Removing PG_launder means that memory allocators can block on any
PageWriteback() page at all, which reduces the risk of very long list
walks inside pagemap_lru_lock in shrink_cache().

16 years ago[PATCH] fix ext3 race with writeback
Andrew Morton [Sun, 19 May 2002 09:23:14 +0000 (02:23 -0700)]
[PATCH] fix ext3 race with writeback

The ext3-no-steal patch has exposed a long-standing race in ext3.  It
has been there all the time in 2.4, but never triggered until some
timing change in the ext3-no-steal patch exposed it.  The race was not
present in 2.2 because 2.2's bdflush runs inside lock_kernel().

The problem is that when ext3 is shuffling a buffer between journalling
lists there is a small window where the buffer is marked BH_dirty.
Aonther CPU can grab it, mark it clean and write it out.  Then ext3
puts the buffer onto a list of buffers which are expected to be dirty,
and gets confused later on when the buffer turns out to be clean.

The patch from Stephen records the expected dirtiness of the buffer in
a local variable, so BH_dirty is not transiently set while ext3

16 years ago[PATCH] fix ext3 buffer-stealing
Andrew Morton [Sun, 19 May 2002 09:23:01 +0000 (02:23 -0700)]
[PATCH] fix ext3 buffer-stealing

Patch from sct fixes a long-standing (I did it!) and rather complex
problem with ext3.

The problem is to do with buffers which are continually being dirtied
by an external agent.  I had code in there (for easily-triggerable
livelock avoidance) which steals the buffer from checkpoint mode and
reattaches it to the running transaction.  This violates ext3 ordering
requirements - it can permit journal space to be reclaimed before the
relevant data has really been written out.

Also, we do have to reliably get a lock on the buffer when moving it
between lists and inspecting its internal state.  Otherwise a competing
read from the underlying block device can trigger an assertion failure,
and a competing write to the underlying block device can confuse ext3
journalling state completely.