opensuse:kernel.git
15 years ago[PATCH] (3/3) more kdev_t removals
Alexander Viro [Tue, 5 Mar 2002 06:56:42 +0000 (22:56 -0800)]
[PATCH] (3/3) more kdev_t removals

15 years ago[PATCH] (2/3) more kdev_t removals
Alexander Viro [Tue, 5 Mar 2002 06:56:37 +0000 (22:56 -0800)]
[PATCH] (2/3) more kdev_t removals

15 years ago[PATCH] (1/3) more kdev_t removals
Alexander Viro [Tue, 5 Mar 2002 06:56:31 +0000 (22:56 -0800)]
[PATCH] (1/3) more kdev_t removals

1. moves a bunch of generic ioctls from sr_dev_ioctl() to
cdrom_ioctl().
2. switches blk_ioctl() to struct block_device *
3. ditto for blkpg_ioctl()

15 years ago[PATCH] export for dparent_lock
Alexander Viro [Tue, 5 Mar 2002 06:56:26 +0000 (22:56 -0800)]
[PATCH] export for dparent_lock

Missing export for dparent_lock.

15 years ago[PATCH] : ir256_usb_cow_urballoc.diff
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:24 +0000 (22:53 -0800)]
[PATCH] : ir256_usb_cow_urballoc.diff

ir256_usb_cow_urballoc.diff :
 ---------------------------
o [FEATURE] Don't use skb_cow() unless we really need to
o [CORRECT] Reorder URB init to avoid races
o [CORRECT] USB dealy adds processing time, not removes it
        <Following patch from Greg KH <greg@kroah.com> himself !!!>
o [CRITICA] Use dynamically allocated URBs (instead of statically)

15 years ago[PATCH] : ir256_lap_icmd_fix-4.diff
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:19 +0000 (22:53 -0800)]
[PATCH] : ir256_lap_icmd_fix-4.diff

ir256_lap_icmd_fix-4.diff :
 -------------------------
o [CORRECT] Fix Tx queue handling (remove race, keep packets in order)
o [CORRECT] Synchronise window_size & line_capacity and make sure
  we never forget to increase them (would stall Tx queue)
o [FEATURE] Group common code out of if-then-else
o [FEATURE] Don't harcode LAP header size, use proper constant
o [FEATURE] Inline irlap_next_state() to decrease bloat

15 years ago[PATCH] : ir256_irnet_disc_ind.diff
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:12 +0000 (22:53 -0800)]
[PATCH] : ir256_irnet_disc_ind.diff

ir256_irnet_disc_ind.diff :
 -------------------------
o [CORRECT] Fix IrNET disconnection to not reconnect but
  instead to hangup pppd

15 years ago[PATCH] : ir256_sock_connect_cli.diff
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:07 +0000 (22:53 -0800)]
[PATCH] : ir256_sock_connect_cli.diff

ir256_sock_connect_cli.diff :
 ---------------------------
o [CRITICA] Fix socket connect to remove dangerous cli()
<Tested on SMP>

15 years ago[PATCH] : ir256_bus_to_virt.diff
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:02 +0000 (22:53 -0800)]
[PATCH] : ir256_bus_to_virt.diff

ir256_bus_to_virt.diff :
 ----------------------
o [CRITICA] Fix ISA FIR drivers for new DMA API
<PCI FIR drivers are still broken and need fixing>

15 years ago[PATCH] PATCH to MAINTAINERS file
David Brownell [Sat, 2 Mar 2002 05:45:46 +0000 (21:45 -0800)]
[PATCH] PATCH to MAINTAINERS file

Thought I should add myself for the
"ehci-hcd" and "usbnet" drivers.

This is against 2.5.5 ...

15 years ago[PATCH] 2.5.6-pre2 - Coda fixes and cleanups
Jan Harkes [Sat, 2 Mar 2002 05:41:54 +0000 (21:41 -0800)]
[PATCH] 2.5.6-pre2 - Coda fixes and cleanups

Here is a batch of accumulated bugfixes and cleanups for the Coda kernel
module. Patch is against 2.5.6-pre2, I could also send these as separate
patches.

bugfix: Fix coda_dentry_revalidate bug

    Due to a bad test, coda_dentry_revalidate was forcing revalidation
    of cacheable inodes, and allowed caching of non-cacheable inodes.

bugfix: Corrected i_mtime/i_ctime setting

    i_mtime and i_ctime were not always updated when writing to a file,
    or when modifying inode attributes.

cleanup/optimization: Avoid getattr upcalls

    We can use coda_iget directly instead of coda_cnode_make when an
    upcall returns attributes and avoid the getattr upcall altogether.

cleanup: Removed debugging messages

    CDEBUG macros haven't been useful ever since the initial development
    when they were introduced. They are too verbose for debugging
    purposes. Removing these saves about a third of the compiled size of
    the module.

    Removed print_entry variable that was used by ENTRY/EXIT macros
    which are already gone.

cleanup/optimization: Readdir simplification

    Relying on the fact that the pagecache is already buffering far more
    efficiently, simplified coda_readdir implementation. We can now fill
    the complete userbuffer instead of returning after reading only 2KB.

    Passing dir entry types that are present in the venus_dirent
    structure to the user as well.

cleanup: Removed redundant permissions statistics counters.

    The permission check count is about identical to the 'permission'
    field in the VFS stats, and the permission hit counter can trivially
    be derived from upcall_stats.access - vfs_stats.permission. Removed
    these redundant counters.

cleanup: Removed useless test for c_flags in coda_revalidate_inode.

    We already know c_flags is set due to earlier tests.

15 years agoMerge bk://ppc.bkbits.net/for-linus-ppc
Linus Torvalds [Sat, 2 Mar 2002 05:41:11 +0000 (21:41 -0800)]
Merge bk://ppc.bkbits.net/for-linus-ppc
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years agoMake CONFIG_HIGHPTE on PPC really have a dependency on CONFIG_HIGHMEM
Paul Mackerras [Sun, 3 Mar 2002 18:37:26 +0000 (05:37 +1100)]
Make CONFIG_HIGHPTE on PPC really have a dependency on CONFIG_HIGHMEM
as intended.

15 years agoPPC update for the recent changes to the pgd/pmd/pte functions.
Paul Mackerras [Sun, 3 Mar 2002 07:19:52 +0000 (18:19 +1100)]
PPC update for the recent changes to the pgd/pmd/pte functions.
This implements ptes-in-highmem for PPC, removes the quicklist
and zero-page stuff.  PTEs in highmem on SMP turned out to need
some significant changes to avoid deadlocks on the hash_table_lock
(now renamed to mmu_hash_lock).  The PMDs now contain the physical
address of the PTE page rather than the virtual address.
Anything that takes the mmu_hash_lock now operates with the DMMU
off to avoid MMU hash-table misses.

15 years agoMerge bk://ppc@ppc.bkbits.net/for-linus-ppc
Paul Mackerras [Sun, 3 Mar 2002 05:43:55 +0000 (16:43 +1100)]
Merge bk://ppc@ppc.bkbits.net/for-linus-ppc
into samba.org:/home/paulus/kernel/for-linus-ppc

15 years agoAutomerge
Linus Torvalds [Sat, 2 Mar 2002 05:36:03 +0000 (21:36 -0800)]
Automerge

15 years ago[PATCH] 2.5.6-pre2 III: spelling
Rusty Russell [Sat, 2 Mar 2002 05:32:58 +0000 (21:32 -0800)]
[PATCH] 2.5.6-pre2 III: spelling

These are all in the 2.4.19-pre2.

"Jahn Veach" <V64@V64.net>: [PATCH 2.5.4] Typo corrections.

Pavel Machek <pavel@ucw.cz>: Whitespace PCI cleanups (fwd).

quinlan@transmeta.com: [PATCH] take COPYING into new century:
These mods are directly from the FSF version.

15 years ago[PATCH] 2.5.6-pre2 I: 2.2.19-pre2 SYNC
Rusty Russell [Sat, 2 Mar 2002 05:32:52 +0000 (21:32 -0800)]
[PATCH] 2.5.6-pre2 I: 2.2.19-pre2 SYNC

This set of one-liners are the ones which have already gone
into 2.2.19-pre2.

Andrey Panin <pazke@orbita1.ru>: [PATCH] arch_i386_kernel_smpboot.c missing __init:
  this patch adds missing __init directive for div64() function
  in arch/i386/kernel/smpboot.c. div64() is only used
  synchronize_tsc_bp() function which is marked __init.

Andrey Panin <pazke@orbita1.ru>: [PATCH] remove annoying ISAPNP message:
  This patch removes useless messages like:
  "isapnp: Calling quirk for 02:00".

John Fremlin <john@fremlin.de>: Patch to fix off by one in ide-scsi:
  Patch to fix off by one in ide-scsi

  To see it is correct compare with ide-cd behaviour

RenĂ© Scharfe <l.s.r@web.de>: [PATCH] compiler warnings in scripts_tkgen.c:
  this patch fixes two compiler warnings during make xconfig which
  turn up if one uses -Wshadow

15 years ago[PATCH] 2.5.6-pre2 II: rd cleanup
Rusty Russell [Sat, 2 Mar 2002 05:32:47 +0000 (21:32 -0800)]
[PATCH] 2.5.6-pre2 II: rd cleanup

From: Dave Jones <davej@suse.de>
  kernel builds and boots with patch (with CONFIG_BLK_DEV_INITRD disabled).

(Trivial because CONFIG_BLK_DEV_RAM is Y if CONFIG_BLK_DEV_INITRD is Y)

15 years ago[PATCH] path_lookup()
Alexander Viro [Sat, 2 Mar 2002 05:30:33 +0000 (21:30 -0800)]
[PATCH] path_lookup()

New helper:
path_lookup(name, flags, nd)
{
int err = 0;
if (path_init(name, flags, nd))
err = path_walk(name, nd);
return err;
}

Places doing that by hand converted to calling it.

Actually, quite a few of them were doing equivalent of __user_walk()
(getname() and if it was successful - call path_lookup() and putname()).
Converted to calling __user_walk().

15 years ago[PATCH] removal of LOOKUP_POSITIVE
Alexander Viro [Sat, 2 Mar 2002 05:30:13 +0000 (21:30 -0800)]
[PATCH] removal of LOOKUP_POSITIVE

LOOKUP_POSITIVE is not needed anymore.  All callers of path_walk()
treat -ENOENT and negative dentry the same way.  If you want a proof of
correctness - I'll send it, but it's a couple of pages of induction, basically
boiling down to "let's show that for any N we can replace the
               if (lookup_flags & (LOOKUP_POSITIVE|LOOKUP_DIRECTORY))
                       break;
in link_path_walk() with
               if ((lookup_flags & (LOOKUP_POSITIVE|LOOKUP_DIRECTORY)) ||
   current->link_count <= N)
                       break;
without changing behaviour of the system".  Pretty straightforward for
N = 0, then we look for places that can lead to call link_path_walk()
with current->link_count equal to N and show that if result of the test
changes, behaviour of callers doesn't.  Since the depth of recursion is
limited, we had shown that test in question can be replaced with if (1).
And that's the only place in tree the ever checks for LOOKUP_POSITIVE.

The real reason behind that is very simple - indeed, suppose
we get a negative dentry out of path_walk().  What the hell could we
do with it?  Its parent isn't locked, so both the name and parent can
change at any moment (could have changed already).  There used to be
places that tried to play "let's get a negative dentry, lock its parent
and start doing something".  All of them racy and all of them fixed
in 2.3.  Fixed by switching to LOOKUP_PARENT...

15 years ago[PATCH] more reiserfs cleanups
Alexander Viro [Sat, 2 Mar 2002 05:30:08 +0000 (21:30 -0800)]
[PATCH] more reiserfs cleanups

More cleanups (getblk() use, etc.) in reiserfs (again, cleaning
up after merge).

15 years agoMerge mulgrave.(none):/home/jejb/BK/linux-2.5
James Bottomley [Sat, 2 Mar 2002 04:58:45 +0000 (22:58 -0600)]
Merge mulgrave.(none):/home/jejb/BK/linux-2.5
into mulgrave.(none):/home/jejb/BK/scsi-2.5

15 years agoSCSI reservation/reset handling
James Bottomley [Sat, 2 Mar 2002 03:40:55 +0000 (21:40 -0600)]
SCSI reservation/reset handling

Tidy up and eliminate remaining references to old error handler.

15 years agoMerge to 2.5.5
James Bottomley [Sat, 2 Mar 2002 03:26:14 +0000 (21:26 -0600)]
Merge to 2.5.5

15 years agoscsi-reset-2.4.18.diff
James Bottomley [Fri, 1 Mar 2002 13:41:16 +0000 (07:41 -0600)]
scsi-reset-2.4.18.diff

SCSI reservation/reset handling

- Make both the old and the new error handlers respond correctly
  to reservation conflicts (i.e. return an I/O error).

- Add a scsi_reset_provider() function for use by the sg driver
  SCSI reset facility.

15 years agoMerge http://gkernel.bkbits.net/misc-2.5
Linus Torvalds [Thu, 28 Feb 2002 12:10:20 +0000 (04:10 -0800)]
Merge http://gkernel.bkbits.net/misc-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years agorate limit the kmod debug message, update kernel version
Linus Torvalds [Thu, 28 Feb 2002 08:37:32 +0000 (00:37 -0800)]
rate limit the kmod debug message, update kernel version

15 years agoThis patch adds a help text for CONFIG_PHONE_IXJ_PCMCIA to
Steven Cole [Thu, 28 Feb 2002 07:59:46 +0000 (02:59 -0500)]
This patch adds a help text for CONFIG_PHONE_IXJ_PCMCIA to
drivers/telephony/Config.help.  The text was obtained from
Eric Raymond's Configure.help v2.97.

15 years ago[PATCH] JFS cleanup
Dave Kleikamp [Thu, 28 Feb 2002 05:22:51 +0000 (21:22 -0800)]
[PATCH] JFS cleanup

  Cleanup - remove version and changelog.
  These don't belong in Linus' kernel.

15 years agoMerge
Linus Torvalds [Thu, 28 Feb 2002 05:18:04 +0000 (21:18 -0800)]
Merge

15 years agodefconfig changes, /bin/sh boottime fallback fix
Linus Torvalds [Thu, 28 Feb 2002 05:02:01 +0000 (21:02 -0800)]
defconfig changes, /bin/sh boottime fallback fix

15 years agoFix off-by-one error reported by Anton Lavrentiev: we no
Linus Torvalds [Thu, 28 Feb 2002 04:45:11 +0000 (20:45 -0800)]
Fix off-by-one error reported by Anton Lavrentiev: we no
longer count the idle thread in "nr_threads", so we should
not discount it when returning sysinfo() information.

15 years ago[PATCH] update my credits entry
Gerd Knorr [Thu, 28 Feb 2002 04:34:36 +0000 (20:34 -0800)]
[PATCH] update my credits entry

This patch updates my entries in CREDITS + MAINTAINERS.

15 years agoMerge http://linuxusb.bkbits.net/linus-2.5
Linus Torvalds [Thu, 28 Feb 2002 04:32:10 +0000 (20:32 -0800)]
Merge http://linuxusb.bkbits.net/linus-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years agoMerge
Linus Torvalds [Thu, 28 Feb 2002 04:27:20 +0000 (20:27 -0800)]
Merge

15 years agoMissing parts of 2.5.6-pre1 JFFS2 merge.
David Woodhouse [Thu, 28 Feb 2002 18:52:30 +0000 (18:52 +0000)]
Missing parts of 2.5.6-pre1 JFFS2 merge.

15 years ago[PATCH] conversion to vfs_stat() for PPC64
Alexander Viro [Thu, 28 Feb 2002 04:24:15 +0000 (20:24 -0800)]
[PATCH] conversion to vfs_stat() for PPC64

* stat() variants on ppc64 converted to use of vfs_stat() and its ilk.
* missing LFS checks added.

15 years ago[PATCH] (7/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:24:05 +0000 (20:24 -0800)]
[PATCH] (7/7) kdev_t removals

* minor cleanup in jffs (passing superblock instead of ->[si]_dev).

15 years ago[PATCH] (6/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:24:00 +0000 (20:24 -0800)]
[PATCH] (6/7) kdev_t removals

* in intermezzo a bunch of places where we are comparing ->s_dev
  are replaced with comparing pointers to superblocks.

15 years ago[PATCH] (5/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:23:55 +0000 (20:23 -0800)]
[PATCH] (5/7) kdev_t removals

* in reiserfs: a new caller of getblk() converted to sb_getblk() +
  a bunch of places converted to use of ->s_id.

15 years ago[PATCH] (4/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:23:49 +0000 (20:23 -0800)]
[PATCH] (4/7) kdev_t removals

* write_some_buffers(), write_unlocked_buffers(), wait_for_buffers(),
  wait_for_locked_buffers() and wait_for_some_buffers() converted
  from kdev_t to struct block_device *.

15 years ago[PATCH] (3/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:23:44 +0000 (20:23 -0800)]
[PATCH] (3/7) kdev_t removals

* sync_buffers() split in two functions (sync_buffers() and
  sync_all_buffers()).  Callers of sync_buffers(NODEV) are
  using the latter, those who actually pass a device - the former.
* sync_buffers() switched from kdev_t to struct block_device *.

15 years ago[PATCH] (2/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:23:39 +0000 (20:23 -0800)]
[PATCH] (2/7) kdev_t removals

* all remaining callers of sync_inodes() and sync_supers() pass
  NODEV as an argument, so we can make them void(void).  Dead
  code removed.

15 years ago[PATCH] (1/7) kdev_t removals
Alexander Viro [Thu, 28 Feb 2002 04:23:33 +0000 (20:23 -0800)]
[PATCH] (1/7) kdev_t removals

* new function - fsync_bdev() (analog of fsync_dev(), but takes
  struct block_device * instead of kdev_t.  Callers of fsync_dev()
  that have struct block_device in question are using fsync_bdev()
  now.
* old code for fsync_dev(NODEV) had been moved to sys_sync().
  Other callers of fsync_dev(NODEV) are calling sys_sync() now.
* fsync_dev() became a wrapper fro fsync_bdev().
* sync_dev() (not used anywhere in the tree) is gone.
* i2oblock.c had fsync_dev() called in ->release().  Removed.
* s390/block/xparm.c was doing fsync_dev() on its devices in
  cleanup_module().  Removed.

15 years ago[PATCH] 2.5.6-pre1: parport PCI card hooks
Tim Waugh [Thu, 28 Feb 2002 04:19:34 +0000 (20:19 -0800)]
[PATCH] 2.5.6-pre1: parport PCI card hooks

This patch adds some necessary PCI card hooks.  Patch originally from
VScom IIRC.

2001-11-14  Tim Waugh  <twaugh@redhat.com> [sent 2001-11-27]

* drivers/parport/parport_pc.c,
drivers/parport/parport_serial.c: PCI card hooks.
* drivers/parport/ChangeLog: Updated.

15 years ago[PATCH] 2.5.6-pre1: parport and O_NONBLOCK
Tim Waugh [Thu, 28 Feb 2002 04:19:29 +0000 (20:19 -0800)]
[PATCH] 2.5.6-pre1: parport and O_NONBLOCK

This patch makes lp and ppdev do the Right Thing regarding O_NONBLOCK.

2002-01-04  Tim Waugh  <twaugh@redhat.com>

* include/linux/parport.h: Define a special inactivity timeout
meaning 'caller wants to use O_NONBLOCK'.
* drivers/char/lp.c: Support O_NONBLOCK properly.
* drivers/char/ppdev.c: Likewise.
* drivers/parport/parport_pc.c: Likewise.
* drivers/parport/ChangeLog: Updated.

15 years ago[PATCH] 2.5.6-pre1: shut lp up
Tim Waugh [Thu, 28 Feb 2002 04:19:24 +0000 (20:19 -0800)]
[PATCH] 2.5.6-pre1: shut lp up

This patch makes lp quieter in the common case that a printer does
_not_ speak ECP. (People have been writing to me worried that the
message means something bad.)

2002-02-26  Tim Waugh  <twaugh@redhat.com>

* drivers/char/lp.c: Be quiet.

15 years ago[PATCH] 2.5.6-pre1: parport 'writable' fix
Tim Waugh [Thu, 28 Feb 2002 04:19:19 +0000 (20:19 -0800)]
[PATCH] 2.5.6-pre1: parport 'writable' fix

This patch fixes a problem with parport that shows up when interrupts
are specified.  I sent this to Marcelo for 2.4.19-pre2 a short time
ago.

2002-02-25  Tim Waugh  <twaugh@redhat.com>

* drivers/parport/parport_pc.c: Fix a bug spotted by Mikael
Pettersson.
* drivers/parport/ChangeLog: Updated.

15 years ago[PATCH] 2.5.6-pre1 IDE clean 14
Martin Dalecki [Thu, 28 Feb 2002 04:15:37 +0000 (20:15 -0800)]
[PATCH] 2.5.6-pre1 IDE clean 14

Most importantly this patch is making ide.c use the
new automagic for module initialization lists and further
preparing the rest of the code in question here for proper
module separation. Despite this the CMOS probe has been removed
as well... *Iff*, which I don't expect, this breaks anything
it can be reintroduced easely. During this effort an actual bug
in the initialization of the main module has been uncovered as well.
a quite serious BUG has been tagged in ide-scsi.c as well, but
as far as now I just didn't get along to actually fixing it.
(The patch is big enough as it is).

Details follow:

- Kill *unused* ide_media_verbose() funciton.

- Remove the unnecessary media and supports_dma fields from
    ide_driver_t.

- Remove the global name field from ide_driver_t struct by pushing it
    down to the places where it's actually used.

- Remove the unused hwif_data field from ide_hwif_t.

- Push the supports_dsc_overlap condition up to the level where it
    belongs: disk type as well.

- Make the initialization of ide main ide.c work with the new module
    initialization auto-magic instead of calling it explicitly in
    ll_rw_block.c This prevents the ide_init() from being called twice. We
    have BTW. renamed it to ata_module_init(), since  ata is more adequate
    then ide and xxx_module_init corresponds better to the naming
    conventions used elsewhere throughout the kernel.

    This BUG was there before any ide-clean.  It was worked around by a
    magic variable preventing the second call to succeed.  We have removed
    this variable in one of the previous patches and thus uncovered it.

- Kill proc_ide_read_driver() and proc_ide_write_driver(). The drivers
    already report on syslog which drives they have taken care of.  (Or
    at least they should). In esp. the proc_ide_write_driver() was just
    too offending for me.  Beleve it or not the purpose of it was to
    *request a particular* driver for a device, by echoing some magic
    values to a magic file...
    More importantly this "back door" was getting in the way of a properly
    done modularization of the IDE stuff.

- Made some not externally used functions static or not EXPORT-ed.

- Provide the start of a proper modularization between the main module
    and drivers for particular device types. Changing the name-space
    polluting DRIVER() macro to ata_ops() showed how inconsistently the
    busy (read: module  busy!) field from ide_driver_t
    is currently used across the    different device type modules.
    This has to be fixed soon.

- Make the ide code use the similar device type ID numbers as the SCSI
    code :-).  This is just tedious, but it will help in a distant
    feature. It helps reading the code anyway.

- Mark repettitive code with /* ATA-PATTERN */ comments for later
    consolidation at places where we did came across it.

- Various comments and notes added where some explanations was missing.

15 years ago[PATCH] 2.5.6-pre1 IDE clean 13a
Martin Dalecki [Thu, 28 Feb 2002 04:15:30 +0000 (20:15 -0800)]
[PATCH] 2.5.6-pre1 IDE clean 13a

This is finally moving the ide-pci.c file into a shape where
the host chip detection lists can finally be moved to where they
belong - into the particular chipset specific files.

This is accomplished, by a rather obivous removal of macro magic,
which was just making entries to the global device type
list nonfunctional, instead of making them conditional on the
corresponding CONFIG_BLHA options.

The second thing was to add a flag field to the device recognition
list, which made it possible to compress many of the
multi || chip id conditionals go away.

The only other file affected is ide.h - here is the change in the size
of the name field, which apparently slipped through ide-clean-12...

15 years ago[PATCH] 2.5.5 IDE cleanup 12
Martin Dalecki [Thu, 28 Feb 2002 04:15:25 +0000 (20:15 -0800)]
[PATCH] 2.5.5 IDE cleanup 12

1. Add some notes to Documentation/driver-model.txt about how and
     and where to mount the driverfs.

2. Reorganize and prepare the PCI scanning code for proper device
dependant splitup. Basically tedious cleanup of macro games.

3. Use struct pci_dev name field as the name of PCI host dapaters
instead of invention ambigious IDE special names. This makes
the kernel bootup messages look a bit shifted, since those names are bit
longer, but makes up for consistance and should allow one later
to rearage things to fit into the generic PCI device initialization
mechanisms provided by the kernel.

4. Set 3. Allowed us to make the host chip specific
pci_init_xxx class functions have the proper signature of
module initializers. This will make it possible to make true
modules out of them later.

5. Make some functions in cmd64x.c static which where not used
elsewhere.

6. rename ide_special_settings to trust_pci_irq - this is reflecting
it's functionality better. And make it match the pci device vendor
as well as the device ID. It was a BUG to match only the device id!.

7. Make the chanell setup more tollerant for BIOS-es which don't
report IO and MEM bases properly. The code found previously there
tryed but was inconsistant.

8. Start to use proper terminology in ide-pci.c: host chip, channel,
drive instead of hwif, port, drive...

9. Enlarge the name field from ide_hwif_t to 64 bytes. It was only 6
previously and there where custom names there which where exceeding
this!!! But since we use the proper pci devce name there now instead,
we had to extend the size of this field anyway.

10. Add some explanatory comments and fix misguiding comments here and
there.

11. Kill the proc_ide_write_config and proc_ide_read_config brain
damage! Those where backdoors to the pci configuration registers on PCI
devices and IO registers on directly connected ISA ATA controllers.
They didn't discrement between them!

Access to both of them *simply* doesn't belong into an operating system,
which is supposed to abstract out the access to hardware! Did I mention
that access to both can be done from user land without an IDE special
interface! Any program which was using them (I hardly beleve there is
one) just deserves to loose. The programmer responsible for it
deserves to be fired immediately.

12. Move ide_map_xx and ide_unmap_xx tinny bio level wrappers away
from the "global" ide.h to where those are actually used and kill
trivial wrappers for otherwise generic bio_ routines. Just fighting
code obfuscation. The "rq->bio is used or is not there" brain
damage in ide-taskfile.c has to be fixed later. Possibly by killing
ide-taskfile.c alltogether, becouse this should be a driver for
users and not a driver for ATA disk disaster recovery companys...

13. Kill hwif->pci_devid and hwif->pci_venid. Just use the already
present hwif->pci_dev field instead.

14. Kill unused big switch ide_reinit_drive function. This silly
functon was switching upon every possible device driver cathegory
and calling the correspondng reinit function directly. This
idiocy was fortunately not used.

That's all... Most will be clear if one starts looking at the changes
in ide.h of course...

In contrast to the previous patches this one is actually fixing two
serious bugs.

The next direct step will be to kill the sigle place global PCI device
type recognition list from ide-pci.c by pushing the entries to where
they belong -> the host chips setup modules.

15 years ago[PATCH] 2.5.6-pre1 IDE cleanup 11
Martin Dalecki [Thu, 28 Feb 2002 04:15:18 +0000 (20:15 -0800)]
[PATCH] 2.5.6-pre1 IDE cleanup 11

1. Start of driver tree usage upon suggestion from Pavel Machek.
     This still will needs a lot of further work in the future, but
     the current code doesn't hurt anything and allowa Pavel to work
     further from the base line. In esp. natively implemented
      suspend to file requires this - which I would love to see comming
     in,since I'm quite frequently using a notebook myself.

2. Kill the _IDE_C macro, which was playing games on entierly
     unnecessary declarations inside of header files in esp ide_modes.h

3. Replace the functionally totally equal system_bus_block() and
     ide_system_bus_speed() functions with one simple global
     variable: system_bus_speed. This saves quite a significatn amount of
     code. Unfortunately this is the part, which is makeing this
     patch to appear bigger then it really is...

4. Use ide_devalidate_drive() directly instead of idedisk_revalidate().

5. Kill conditional CONFIG_KMOD as well as some other minor tweaks.

Well this isn't that much in terms of functionality,  but it took me
quite q bit of time to catch up on the patch-2.5.5.gz ;-)

15 years ago[PATCH] 2.5.6-pre1 IDE cleanup 10
Martin Dalecki [Thu, 28 Feb 2002 04:15:12 +0000 (20:15 -0800)]
[PATCH] 2.5.6-pre1 IDE cleanup 10

This is finishing the cleanup parts already started in ide-clean-9.

It kills the ide_register_module() and ide_unregister_module() as well
as associated idiosyncracies alltogether. It turns out
that this patch is actually fixing a bug which was present in the
driver before: the sub-module initialization functions where called
at least twice - which is an abundance.

Tough there is a bit of global namespace pollution caused by this
patch - but I'm aware of it and will fix it just a bit later.
(The terminology used inside the IDE code is anyway nothing common
else in the linux universum...)

The next targets will be:

1. Code obfuscation by "wrappers" around generic BIO level functions.

2. ide_hwgroup_t - which is only used to serialize multiple
discs on the same interrupt and similar. This is however a tough one.

3. There is a plenty of code waste in the chipset drivers, where there
is baroque informative code for the proc file system for static stuff,
which in fact belongs just to syslog(). In fact the default RedHat
distribution kernel is killing this gratitious abuse of the /proc
concept since a long long time...

I'm still awaiting the day of /proc/GPL, where GPL contains the
full text of it...

15 years agoShrink icache more aggressively - if we free the dentries,
Linus Torvalds [Thu, 28 Feb 2002 04:11:56 +0000 (20:11 -0800)]
Shrink icache more aggressively - if we free the dentries,
go ahead and free the inodes too, don't try to age them any
more (the aging has been done on a dentry level).

15 years agousb core:
Greg Kroah-Hartman [Wed, 27 Feb 2002 15:59:49 +0000 (07:59 -0800)]
usb core:
- removed debugging statement in usb_free_urb() that I
  accidentally left in :(

15 years agoUpdate sisfb for recent kdev_t changes in 2.5.[01].
Bakonyi Ferenc [Wed, 27 Feb 2002 14:35:47 +0000 (09:35 -0500)]
Update sisfb for recent kdev_t changes in 2.5.[01].

15 years agoThis patch adds help texts for CONFIG_SERIAL_TX3912,
Steven Cole [Wed, 27 Feb 2002 14:20:26 +0000 (09:20 -0500)]
This patch adds help texts for CONFIG_SERIAL_TX3912,
CONFIG_SERIAL_TX3912_CONSOLE, CONFIG_AU1000_SERIAL_CONSOLE,
CONFIG_AU1000_UART, CONFIG_EUROTECH_WDT to drivers/char/Config.help.

15 years agoAdd documentation for CONFIG_FB_TRIDENT.
Steven Cole [Wed, 27 Feb 2002 14:08:40 +0000 (09:08 -0500)]
Add documentation for CONFIG_FB_TRIDENT.

15 years agoMerge bk://linuxusb.bkbits.net/linus-2.5
Linus Torvalds [Wed, 27 Feb 2002 13:50:49 +0000 (05:50 -0800)]
Merge bk://linuxusb.bkbits.net/linus-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years agoMerge mandrakesoft.com:/spare/vanilla/linus-2.5
Jeff Garzik [Wed, 27 Feb 2002 13:48:28 +0000 (08:48 -0500)]
Merge mandrakesoft.com:/spare/vanilla/linus-2.5
into mandrakesoft.com:/spare/repo/misc-2.5

15 years agoMerge http://gkernel.bkbits.net/net-drivers-2.5
Linus Torvalds [Wed, 27 Feb 2002 13:45:06 +0000 (05:45 -0800)]
Merge http://gkernel.bkbits.net/net-drivers-2.5
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years agoFix e1000 net driver 64-bit DMA initialization.
Christopher Leech [Wed, 27 Feb 2002 14:03:43 +0000 (09:03 -0500)]
Fix e1000 net driver 64-bit DMA initialization.

15 years agoRemove unneeded and possibly incorrect PPC-specific code
Christopher Leech [Wed, 27 Feb 2002 14:01:29 +0000 (09:01 -0500)]
Remove unneeded and possibly incorrect PPC-specific code
from e1000 net driver.

15 years agoUpdate 8139cp net driver copyright, version. Remove dead code
Jeff Garzik [Wed, 27 Feb 2002 13:59:22 +0000 (08:59 -0500)]
Update 8139cp net driver copyright, version.  Remove dead code
that accidentally crept back into driver.

15 years agoMerge mandrakesoft.com:/spare/vanilla/linus-2.5
Jeff Garzik [Wed, 27 Feb 2002 13:50:06 +0000 (08:50 -0500)]
Merge mandrakesoft.com:/spare/vanilla/linus-2.5
into mandrakesoft.com:/spare/repo/net-drivers-2.5

15 years agoAdd dev->change_mtu support, supporting non-standard MTUs (within
Jeff Garzik [Wed, 27 Feb 2002 13:13:38 +0000 (08:13 -0500)]
Add dev->change_mtu support, supporting non-standard MTUs (within
hardware limits) to the 8139cp net driver.

15 years agoMerge AMD7xx PCI compliance quirk fix from 2.4.18.
Jeff Garzik [Wed, 27 Feb 2002 09:14:02 +0000 (04:14 -0500)]
Merge AMD7xx PCI compliance quirk fix from 2.4.18.

15 years agousb serial drivers:
Greg Kroah-Hartman [Wed, 27 Feb 2002 07:25:12 +0000 (23:25 -0800)]
usb serial drivers:
- removed all usage of port->sem as the usb serial core now does this.

15 years agousb visor driver:
Greg Kroah-Hartman [Wed, 27 Feb 2002 07:24:00 +0000 (23:24 -0800)]
usb visor driver:
- reworked urb handling, getting rid of lots of code now that we have
  proper urb reference counting.
- removed port locks as the usb-serial core now does this.
- added support for the Palm m515 thanks to SilaS

15 years agousb serial core:
Greg Kroah-Hartman [Wed, 27 Feb 2002 07:21:26 +0000 (23:21 -0800)]
usb serial core:
- cleaned up some whitespace issues
- changed MOD_INC logic for the generic driver
- the port->sem lock is now taken by the serial core, not the individual
  usb-serial drivers.  This is to reduce races.

15 years agousb ipaq driver:
Ganesh Varadarajan [Wed, 27 Feb 2002 07:19:42 +0000 (23:19 -0800)]
usb ipaq driver:
   Added support for the HP Jornada.

15 years agouhci.c, speed improvements
Johannes Erdfelt [Wed, 27 Feb 2002 07:16:43 +0000 (23:16 -0800)]
uhci.c, speed improvements

Basically, the patch turns switching off FSBR into a lazy operation with
the assumption there will be another transfer shortly afterwards. This
works wonders for usb-storage for instance.

15 years agoThis is another USB API cleanup patch. It's against 2.5.5:
David Brownell [Wed, 27 Feb 2002 07:15:11 +0000 (23:15 -0800)]
This is another USB API cleanup patch.  It's against 2.5.5:

    - Moves 8 functions from usb.[hc] to hcd.[hc]
    - Also moves some data structures and types
    - Now usbdevfs and "old" HCDs #include "hcd.h"
    - Minor tweaks to the "hcd" layer (one less FIXME)
    - Minor kernel doc and comment cleanups

Basically this continues moving the HCD-only functionality
out of the way of normal USB device drivers.  Converging
"usb_bus" and "usb_hcd" (later!) will be a bit easier too.

I did basic sanity tests, there's little to break ... :)

There are still a few functions in usb.c that aren't for
general driver use.  They're mostly for enumeration,
in areas where the hub driver and HCD root hubs
need to do various kinds of magic.  It wasn't clear
how to decouple those, they can certainly wait.

15 years agoPATCH: audio driver urb allocation
David Brownell [Wed, 27 Feb 2002 07:13:10 +0000 (23:13 -0800)]
PATCH: audio driver urb allocation

This fixes a bug in the audio driver which came from an
incorrect conversion from static to dynamic URB allocation.
It's against 2.5.5

I noticed this while trying to see exactly how ISO transfers
get used.  The bug is that while originally the driver statically
allocated several structures {urb + N * iso packet descriptors},
the update forgot to allocate the ISO descriptors.

Likely not many folk noticed this on 32 bit machines, where
sizeof urb == 92, because kmalloc rounds that up to 128,
adding 36 bytes of external padding.  The ISO descriptors
took up 32 bytes of that, which "just happened" to already
have been allocated but unused.

15 years agomisc hcd cleanup
David Brownell [Wed, 27 Feb 2002 07:11:46 +0000 (23:11 -0800)]
misc hcd cleanup

This is minor cleanup; pulls #includes out of files
that aren't intended to compile by themselves.

ehci bandwidth recording

Here's a minor update to the EHCI interrupt scheduler,
recording the bandwidth used by an URB for usbfs.

15 years ago[PATCH] hid-core and hotplug
David Brownell [Wed, 27 Feb 2002 07:09:12 +0000 (23:09 -0800)]
[PATCH] hid-core and hotplug

This restores a line someone deleted, which
affects hotplugging.  Basically this restores
correct/previous behavior:  the HID driver only
matches HID devices, not every device that
ever connects.

15 years agoUSB auerswald driver:
Greg Kroah-Hartman [Wed, 27 Feb 2002 07:02:44 +0000 (23:02 -0800)]
USB auerswald driver:
- changed the minor number the auerswald driver was using, as it was found
  out that this number was already in use by another USB driver!

15 years agoAdded new IBM PCI Hotplug controller driver.
Greg Kroah-Hartman [Wed, 27 Feb 2002 06:15:44 +0000 (22:15 -0800)]
Added new IBM PCI Hotplug controller driver.

Written by Irene Zubarev, Tong Yu, Jyoti Shah, Chuck Cole, and me.

15 years agoCompaq PCI Hotplug controller driver:
Greg Kroah-Hartman [Wed, 27 Feb 2002 06:13:28 +0000 (22:13 -0800)]
Compaq PCI Hotplug controller driver:
- changed proc entry creation to use the proper parent directory variable.

15 years agoPCI Hotplug Core cleanups:
Greg Kroah-Hartman [Wed, 27 Feb 2002 06:12:18 +0000 (22:12 -0800)]
PCI Hotplug Core cleanups:
- pcihpfs cleanup, removing unneeded file operations.
- Added facility to have the files change their timestamps if the data
  within the file changes.

15 years agoMerge bk://24.221.152.185/linux-2.5-8xxcleanup
Paul Mackerras [Tue, 26 Feb 2002 22:56:11 +0000 (09:56 +1100)]
Merge bk://24.221.152.185/linux-2.5-8xxcleanup
into quango.ozlabs.ibm.com:/home/paulus/kernel/for-linus-ppc

15 years agoMerge bk://bk.arm.linux.org.uk
Linus Torvalds [Tue, 26 Feb 2002 09:01:21 +0000 (01:01 -0800)]
Merge bk://bk.arm.linux.org.uk
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux

15 years ago[PATCH] 2.5 scsi changes : qlogicfas.c fixed (resend)
Brett Pemberton [Tue, 26 Feb 2002 08:59:04 +0000 (00:59 -0800)]
[PATCH] 2.5 scsi changes : qlogicfas.c fixed (resend)

This patch allows my qlogic pcmcia scsi card to compile again, as broken
by the recent scsi layer changes.

Despite davem's apparent suggestion that it'd be better to rewrite the
driver, i'd rather not _just_ right now :)

/ Brett Pemberton

15 years ago[PATCH] MTD update.
Dave Jones [Tue, 26 Feb 2002 08:57:50 +0000 (00:57 -0800)]
[PATCH] MTD update.

Numerous bugfixes brought forward from 2.4. I added some quick bio fixes
to mtdblock.c, which seemed to work for me whilst testing JFFS2 changes.

15 years ago[PATCH] updates.
Dave Jones [Tue, 26 Feb 2002 08:57:44 +0000 (00:57 -0800)]
[PATCH] updates.

Forward ports from 2.4, Various janitor bits, and some fixes by me to
make the thing work again in 2.5.  I munged the MTDRAM driver to work
also (seperate patch to follow), and it seems to work.

David Woodhouse gave this the once over, and approved the changes.
Complete changelog below:

o   Don't create two slabcaches with the same name.
o   Don't corrupt eraseblock lists on mount
o   Don't mark nodes obsolete during mount
o   __attribute__((packed)) on the node definitions.
o   Fix up() without down() in jffs2_readdir().
o   Fix duplicate version number usage - s/highest_version++/++highest_version/
o   Fix (i.e. implement) mtime/ctime on directories.
    maybe too busy with the bk stuff
o   Don't allow hardlinks of directories.
o   s/(mode&S_IFMT)==S_IFLNK/S_ISLNK(mode)/ et al to keep Al happy.
o   Fix for garbage-collection of holes, where we used to write nodes out
    with csize/dsize swapped. Workarounds for existing such brokenness.
o   Improve wear levelling by rotating node lists on mount, to avoid starting
     at one end of the flash every time.
o   Remember to get internal inode-semaphore on symlink operations.

15 years agoupdate version
Linus Torvalds [Tue, 26 Feb 2002 06:26:10 +0000 (22:26 -0800)]
update version

15 years ago[PATCH] PATCH 16/16: NFSD: TCP: enable NFS over TCP via config option
Neil Brown [Tue, 26 Feb 2002 06:24:06 +0000 (22:24 -0800)]
[PATCH] PATCH 16/16: NFSD: TCP: enable NFS over TCP via config option

Enable NFS over TCP via config option

15 years ago[PATCH] PATCH 15/16: NFSD: TCP: Limit number of active tcp connections to an RPC...
Neil Brown [Tue, 26 Feb 2002 06:24:00 +0000 (22:24 -0800)]
[PATCH] PATCH 15/16: NFSD: TCP: Limit number of active tcp connections to an RPC service

Limit number of active tcp connections to an RPC service

If a connection comes in and that results in number of
connections being more than 5 times the number of threads,
then we close a connection.

We randomly drop with the oldest or the newest connection.

Thus if we are flooded with connection requests, some will
get in and hopefully stay long enough to service at least one request.

15 years ago[PATCH] PATCH 14/16: NFSD: TCP: Declare max response sizes for NFS and NLM
Neil Brown [Tue, 26 Feb 2002 06:23:55 +0000 (22:23 -0800)]
[PATCH] PATCH 14/16: NFSD: TCP: Declare max response sizes for NFS and NLM

Declare response sizes for nfs/lockd requests

This allows sndbuf reservation to be more accurate.

For lockd we just say "0" for now, meaning assume the max.
This could be improved, but it isn't critical.

15 years ago[PATCH] PATCH 13/16: NFSD: TCP: Reserve space on sndbuf so we never block when writing
Neil Brown [Tue, 26 Feb 2002 06:23:49 +0000 (22:23 -0800)]
[PATCH] PATCH 13/16: NFSD: TCP: Reserve space on sndbuf so we never block when writing

Make sure there is alway adequate sndbuf space for replies.

We keep track of how much space might be needed for replies
and never dequeue a request unless there is adequate space
for a maximal reply.  We assume each request will generate a maximal
sized reply until the request is partly decoded.
Each RPC program/procedure can specify the maximum size
of a reply to the precedure (though they don't yet).

The wspace callback is used to enqueue sockets that may be waiting
for sndbuf space to become available.

As there should always be enough buffer space to the full
reply, the only reason that sock_sendmsg could block is due
to a kmalloc delay.  As this is likely to be fairly quick (and if
it isn't the server is clagged anyway) we remove the MSG_DONTWAIT
flag, but set a 30 second timeout on waiting.  If the wait
ever times out, we close the connection.  If it doesn't we can
be sure that we did a complete write.

When a request completes, we make sure that the space
used for the reply does not exceed the space reserved.  This
is an internal consistancy check.

This patchs sets the sndbuf and rcvbuf sizes for all sockets
used for rpc service.  This size if dependant on the servers bufsize (S) and
partially on the number of threads (N).

For UDP
    sndbuf == 5*S
    rcvbuf == (N+2)*S
for TCP
    sndbuf == N*S
    rcvbuf == 3*S

see code for rationale (in comments).

15 years ago[PATCH] PATCH 12/16: NFSD: TCP: Close idle TCP connections
Neil Brown [Tue, 26 Feb 2002 06:23:44 +0000 (22:23 -0800)]
[PATCH] PATCH 12/16: NFSD: TCP: Close idle TCP connections

Close idle rpc/tcp sockets

We split the list of sv_allsocks into two, one
of permanent sockets (udp, tcp listener) and one
of temporary sockets (tcp data).

Whenever we complete a successful receive on a temp socket,
it gets pushed to the end of the list.

Whenever a thread wants to do something, it first checks if
the oldest temp socket has not has a receive for 6 mintutes
(should possibly be configurable).  It so, we simulate
a close.

Finally we make sure that threads wake up every few minutes
so that if the server is completely idle, all temp
sockets will get closed.

15 years ago[PATCH] PATCH 11/16: NFSD: TCP: close bad connections
Neil Brown [Tue, 26 Feb 2002 06:23:37 +0000 (22:23 -0800)]
[PATCH] PATCH 11/16: NFSD: TCP: close bad connections

Detect and close tcp connections that we cannot work with.

If an rpc fragment that arrives on a tcp connection
is non-terminal or too large for our buffer, then we
have to close the connection.
Also, if a write fails on a tcp connection, we close
the connection.

15 years ago[PATCH] PATCH 10/16: NFSD: TCP: rationalise locking in RPC server routines
Neil Brown [Tue, 26 Feb 2002 06:23:32 +0000 (22:23 -0800)]
[PATCH] PATCH 10/16: NFSD: TCP: rationalise locking in RPC server routines

Tidy up SMP locking for svc_sock

sk_lock is not necessary and is now removed.
The only things that were happening under sk_lock but
not the more global sv_lock were testing and setting
some of the flags: sk_busy, sk_conn, sk_data etc.

These have been changed to bits in a flags word which are atomically
set and tested.

Also, by establishing some simple rules about that must
be done after setting these flags, the locking is not needed.

With this patch sk_conn and sk_data are now flags, not counts (sk_data
was already a flag for udp).  They are set if there might be
a connection or data, and only clear when we are sure there aren't
(or when we are about to check if there is).

svc_sock_accepted becomes identical to svc_sock_recieved and
so is discarded in favour of the latter.

sk_rqstp was never used and is now gone.

15 years ago[PATCH] PATCH 9/16: NFSD: RPC init tidyup
Neil Brown [Tue, 26 Feb 2002 06:23:27 +0000 (22:23 -0800)]
[PATCH] PATCH 9/16: NFSD: RPC init tidyup

Get sunrpc to use module_init properly

rpc_register_sysctl was called in several places.
Now only once.

15 years ago[PATCH] PATCH 8/16: NFSD: RPC lists tidyup
Neil Brown [Tue, 26 Feb 2002 06:23:22 +0000 (22:23 -0800)]
[PATCH] PATCH 8/16: NFSD: RPC lists tidyup

Change sunrpc to use more list.h lists

The sunrpc client code uses home-grown doubly linked
lists to group
   - idle server threads
   - pending server sockets
   - waiting rpc tasks
   - all rpc tasks.

This patch converts all of these lists to <linux/list.h> lists and
also makes the list of all server sockets for a particular server into
a list.h list instead of a single-link list.

Possibly the least obvious change is replacing RPC_INIT_WAITQ
with RPC_WAITQ and INIT_RPC_WAITQ.  These follow the model of
LIST_HEAD and INIT_LIST_HEAD defined in list.h and are needed
to initialise the list_head in the rpc_waitq properly.

15 years ago[PATCH] PATCH 7/16: NFSD: BKL removal: Discard high level BKL locking
Neil Brown [Tue, 26 Feb 2002 06:23:16 +0000 (22:23 -0800)]
[PATCH] PATCH 7/16: NFSD: BKL removal: Discard high level BKL locking

Remove last unneeded bit of BKL from knfsd

Remove BKL from nfsservctl systemcall.  All
components have their own locking.
Also remove it from the body of nfsd threads.  Keep
it for final thread destruction though.

15 years ago[PATCH] PATCH 6/16: BKL removal: Lock read-ahead cache
Neil Brown [Tue, 26 Feb 2002 06:23:11 +0000 (22:23 -0800)]
[PATCH] PATCH 6/16: BKL removal: Lock read-ahead cache

Protect read-ahead cache with SMP safe locking

As another step to removing the BKL from nfsd, this patch
protects the read-ahead cache with a spinlock.

15 years ago[PATCH] PATCH 5/16: NFSD: BKL removal: add BKL where needed in filehandle lookup
Neil Brown [Tue, 26 Feb 2002 06:23:05 +0000 (22:23 -0800)]
[PATCH] PATCH 5/16: NFSD: BKL removal: add BKL where needed in filehandle lookup

Protect dentry attachement from BKL

The process of attaching a dentry into the dcache
still needs the BKL I think.
When all the other BKL changes in the VFS settle down, I
will revisit this.  But as it is not a very frequent
operation, the BKL wont hurt.

Also add a down/up of i_sem when doing a lookup(".."),
as it is down for all other lookups.

15 years ago[PATCH] PATCH 4/16: NFSD: BKL Removal: Locking in nfssvc.c
Neil Brown [Tue, 26 Feb 2002 06:23:00 +0000 (22:23 -0800)]
[PATCH] PATCH 4/16: NFSD: BKL Removal: Locking in nfssvc.c

Tidy up locking in nfssvc - preparing for BKL removal

- nfsd_busy becomes atomic_t
- nfsd_call_lock created to protect timing of calls and stats gathering
- lock_kernel around thread creation and destruction.  It is
  sufficiently uncommon that it doesn't really need a lock of it's
  own.  It is currently under the BKL because all of the nfsservctl
  syscall is, but that is about to be removed so we preserve BKL here.