16 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:44:18 +0000 (00:44 -0700)]

16 years agoAutomerge
Linus Torvalds [Tue, 30 Apr 2002 07:43:32 +0000 (00:43 -0700)]

16 years ago[PATCH] orinoco driver update
David Gibson [Tue, 30 Apr 2002 07:42:48 +0000 (00:42 -0700)]
[PATCH] orinoco driver update

The following patch against 2.5.11 updates the orinoco driver.  As well
as miscellaneous updates to the driver core it adds a new module
supporting Prism 2.5 based PCI wireless cards, and adds a MAINTAINERS
entry for the driver.

16 years ago[PATCH] 2.5.11 : drivers/net/ppp_generic.c
Frank Davis [Tue, 30 Apr 2002 07:41:56 +0000 (00:41 -0700)]
[PATCH] 2.5.11 : drivers/net/ppp_generic.c

  During a 'make bzImage', I received a warning on ppp_generic.c that ret
wasn't initialized (also for 2.5.10). I have attached a patch that sets
ret = count, thus removing the warning. Please review for inclusion.


16 years agoMerge
Linus Torvalds [Tue, 30 Apr 2002 07:40:51 +0000 (00:40 -0700)]

16 years ago[PATCH] sched cleanup, comments, separate max prios
Robert Love [Tue, 30 Apr 2002 07:39:14 +0000 (00:39 -0700)]
[PATCH] sched cleanup, comments, separate max prios

Attached patch is a resync of previous patches sent by Ingo and I.

- create new MAX_USER_RT_PRIO value
- separate uses of MAX_RT_PRIO vs MAX_USER_RT_PRIO
- replace use of magic numbers by above
- additional comments

16 years ago[PATCH] 2.5.11 synclink.h
Paul Fulghum [Tue, 30 Apr 2002 07:38:37 +0000 (00:38 -0700)]
[PATCH] 2.5.11 synclink.h

This patch to synclink.h against 2.5.11 is required
for the synclink_cs.c driver to compile.

16 years ago[PATCH] Removing SYMBOL_NAME part 6
Brian Gerst [Tue, 30 Apr 2002 07:38:02 +0000 (00:38 -0700)]
[PATCH] Removing SYMBOL_NAME part 6

Last remaining instances removed.

16 years agoMerge
Linus Torvalds [Tue, 30 Apr 2002 07:37:29 +0000 (00:37 -0700)]

16 years ago[PATCH] Re: ALSA patch..
Jaroslav Kysela [Tue, 30 Apr 2002 07:19:56 +0000 (00:19 -0700)]
[PATCH] Re: ALSA patch..

I overlooked these single line changes.  Here are next corrections
against ChangeSet 1.547:

16 years agoFix broken sound print macros
Linus Torvalds [Tue, 30 Apr 2002 07:19:23 +0000 (00:19 -0700)]
Fix broken sound print macros

16 years agoupdate x86 defconfig
Linus Torvalds [Tue, 30 Apr 2002 07:18:36 +0000 (00:18 -0700)]
update x86 defconfig

16 years agoMove BKL into readdir for ntfs-tng
Linus Torvalds [Tue, 30 Apr 2002 07:05:03 +0000 (00:05 -0700)]
Move BKL into readdir for ntfs-tng

16 years ago[PATCH] shift BKL out of vfs_readdir
Dave Hansen [Tue, 30 Apr 2002 07:00:53 +0000 (00:00 -0700)]
[PATCH] shift BKL out of vfs_readdir

This patch takes the BKL out of vfs_readdir() and moves it into the
individual filesystems, all 35 of them.  I have the feeling that this
wasn't done before because there are a lot of these to change and it was
a pain to find them all.  I definitely got all of those that were
defined in the in the structure declaration like this "readdir:
fs_readdir;" vxfs_readdir was assigned strangely, but I found it anyway.
I also left devfs out of this one.  Richard seems confident that devfs
has no need for the BKL.

16 years agoUpdate kernel version
Linus Torvalds [Tue, 30 Apr 2002 07:00:00 +0000 (00:00 -0700)]
Update kernel version

16 years ago[PATCH] 2.5.11 IDE 48
Martin Dalecki [Tue, 30 Apr 2002 06:59:09 +0000 (23:59 -0700)]
[PATCH] 2.5.11 IDE 48

Tue Apr 30 13:23:13 CEST 2002 ide-clean-48

This fixes the "performance" degradation partially, becouse we don't
miss that many jiffies in choose_urgent_device() anymore.  However
choose_urgent_device has to be fixed for the off by one error to don't
loop for a whole 1/100 second before submitting the next request.

- Include small declaration bits for Jens. (WIN_NOP fix in esp.)

- Fix ide-pmac to conform to the recent API changes.

- Prepare and improve the handling of the request queue. It sucks now as many
   request as possible. This is improving the performance.

16 years ago[PATCH] 2.5.11 IDE 47
Martin Dalecki [Tue, 30 Apr 2002 06:59:01 +0000 (23:59 -0700)]
[PATCH] 2.5.11 IDE 47

- Rewrite choose_drive() to iterate explicitely over the channels and devices
    on them. It is not performance critical to iterate over this typically quite
    small array of disks and allows us to let them act on the natural entity,
    namely the channel as well as to remove the drive->next field from struct
    ata_device.  Make the device eviction code in ide_do_request() more
    intelliglible.  Add some comments explaining the reasoning behind the code

- Now finally since the code for choosing the drive which will be serviced next
    is intelliglibly it became obvious that the attempt to choose the next drive
    based on the duration of the last request was entierly bogous. (Because for
    example wakeups can take a long time, but this doesn't indicate that the
    drive is slow.) Remove this criterium and the corresponding accounting
    therefore. Threat all drives fairly right now.

Surprise surprise the overall system throughput increased :-).

16 years ago[PATCH] 2.5.11 IDE 46
Martin Dalecki [Tue, 30 Apr 2002 06:57:32 +0000 (23:57 -0700)]
[PATCH] 2.5.11 IDE 46

- Remove the specific CONFIG_IDEDMA_PCI_WIP in favor of using the generic
   CONFIG_EXPERIMENTAL tag. (Pointed out by Vojtech Pavlik).

- Change the signature of the IRQ handler to take the request directly as a
   parameter. This doesn't blow the code up but makes it much more obvious and
   finally it's reducing the number of side effects of the hwgroup->rq field.

- A second sharp look after the above change allowed us to remove the wrq field
   from the hwgroup struct. It's just not used at all.

- Change the signature of the end_request member of struct ata_operations to
   take the request as a second argument. Similar for __ide_end_request()
   and ide_end_request().

- Remove BUG_ON() items just before ide_set_handler(). The check in
   ide_set_handler is clever enough now.

- Remove the rq subfield from ide-scsi packet structure. We have now the
   request context always in place. Same for floppy.

- Let the timer expiry function take the request as a direct argument.

Yes I know those changes are extensive. But they are a necessary step
in between for the following purposes:

- Consolidate the whole ATA/ATAPI stuff on passing a single unified request
   handling object. Because after eliminating those side effects it's far easier
   to see what's passed where.

- Minimizing the amount of side effects in the overall code. That's a good
   thing anyway and it *doesn't* cost us neither performance nor space, since
   the stack depths are small anyway here.

- Minimizing the usage of hwgroup - which should go away if possible.

16 years ago[PATCH] cleanup sync_buffers()
Andrew Morton [Tue, 30 Apr 2002 06:54:28 +0000 (23:54 -0700)]
[PATCH] cleanup sync_buffers()

Renames sync_buffers() to sync_blockdev() and removes its (never used)
second argument.

Removes fsync_no_super() in favour of direct calls to sync_blockdev().

16 years ago[PATCH] page writeback locking update
Andrew Morton [Tue, 30 Apr 2002 06:54:18 +0000 (23:54 -0700)]
[PATCH] page writeback locking update

- Fixes a performance problem - callers of
  prepare_write/commit_write, etc are locking pages, which synchronises
  them behind writeback, which also locks these pages.  Significant
  slowdowns for some workloads.

- So pages are no longer locked while under writeout.  Introduce a
  new PG_writeback and associated infrastructure to support this design

- Pages which are under read I/O still use PageLocked.  Pages which
  are under write I/O have PageWriteback() true.

  I considered creating Page_IO instead of PageWriteback, and marking
  both readin and writeout pages as PageIO().  So pages are unlocked
  during both read and write.  There just doesn't seem a need to do
  this - nobody ever needs unblocking access to a page which is under
  read I/O.

- Pages under swapout (brw_page) are PageLocked, not PageWriteback.
  So their treatment is unchangeded.

  It's not obvious that pages which are under swapout actually need
  the more asynchronous behaviour of PageWriteback.

  I was setting the swapout pages PageWriteback and unlocking them
  prior to submitting the buffers in brw_page().  This led to deadlocks
  on the exit_mmap->zap_page_range->free_swap_and_cache path.  These
  functions call block_flushpage under spinlock.  If the page is
  unlocked but has locked buffers, block_flushpage->discard_buffer()
  sleeps.  Under spinlock.  So that will need fixing if for some reason
  we want swapout to use PageWriteback.

  Kernel has called block_flushpage() under spinlock for a long time.
   It is assuming that a locked page will never have locked buffers.
  This appears to be true, but it's ugly.

- Adds new function wait_on_page_writeback().  Renames wait_on_page()
  to wait_on_page_locked() to remind people that they need to call the
  appropriate one.

- Renames filemap_fdatasync() to filemap_fdatawrite().  It's more
  accurate - "sync" implies, if anything, writeout and wait.  (fsync,
  msync) Or writeout.  it's not clear.

- Subtly changes the filemap_fdatawrite() internals - this function
  used to do a lock_page() - it waited for any other user of the page
  to let go before submitting new I/O against a page.  It has been
  changed to simply skip over any pages which are currently under

  This is the right thing to do for memory-cleansing reasons.

  But it's the wrong thing to do for data consistency operations (eg,
  fsync()).  For those operations we must ensure that all data which
  was dirty *at the time of the system call* are tight on disk before
  the call returns.

  So all places which care about this have been converted to do:

filemap_fdatawait(mapping); /* Wait for current writeback */
filemap_fdatawrite(mapping); /* Write all dirty pages */
filemap_fdatawait(mapping); /* Wait for I/O to complete */

- Fixes a truncate_inode_pages problem - truncate currently will
  block when it hits a locked page, so it ends up getting into lockstep
  behind writeback and all of the file is pointlessly written back.

  One fix for this is for truncate to simply walk the page list in the
  opposite direction from writeback.

  I chose to use a separate cleansing pass.  It is more
  CPU-intensive, but it is surer and clearer.  This is because there is
  no reason why the per-address_space ->vm_writeback and
  ->writeback_mapping functions *have* to perform writeout in
  ->dirty_pages order.  They may choose to do something totally

  (set_page_dirty() is an a_op now, so address_spaces could almost
  privatise the whole dirty-page handling thing.  Except
  truncate_inode_pages and invalidate_inode_pages assume that the pages
  are on the address_space lists.  hmm.  So making truncate_inode_pages
  and invalidate_inode_pages a_ops would make some sense).

16 years ago[PATCH] hashed b_wait
Andrew Morton [Tue, 30 Apr 2002 06:54:08 +0000 (23:54 -0700)]
[PATCH] hashed b_wait

Implements hashed waitqueues for buffer_heads.  Drops twelve bytes from
struct buffer_head.

16 years ago[PATCH] cleanup of bh->flags
Andrew Morton [Tue, 30 Apr 2002 06:53:51 +0000 (23:53 -0700)]
[PATCH] cleanup of bh->flags

Moves all buffer_head-related stuff out of linux/fs.h and into
linux/buffer_head.h.  buffer_head.h is currently included at the very
end of fs.h.  So it is possible to include buffer_head directly from
all .c files and remove this nested include.

Also rationalises all the set_buffer_foo() and mark_buffer_bar()
functions.  We have:


and, in some cases, where needed:


And that's it.

BUFFER_FNS() and TAS_BUFFER_FNS() macros generate all the above real
inline functions.  Normally not a big fan of cpp abuse, but in this
case it fits.  These function-generating macros are available to
filesystems to expand their own b_state functions.  JBD uses this in
one case.

16 years ago[PATCH] remove show_buffers()
Andrew Morton [Tue, 30 Apr 2002 06:53:41 +0000 (23:53 -0700)]
[PATCH] remove show_buffers()

Remove show_buffers().  It really has nothing to show any more.  just
buffermem_pages() - move that out into the callers.

There's a lot of duplication in this code.  better approach would be to
remove all the duplicated code out in the architectures and implement
generic show_memory_state().  Later.

16 years ago[PATCH] remove PG_skip
Andrew Morton [Tue, 30 Apr 2002 06:53:32 +0000 (23:53 -0700)]
[PATCH] remove PG_skip

Remove PG_skip.  Nothing is using it (the change was acked by rmk a
while back)

16 years ago[PATCH] remove i_dirty_data_buffers
Andrew Morton [Tue, 30 Apr 2002 06:53:20 +0000 (23:53 -0700)]
[PATCH] remove i_dirty_data_buffers

Removes inode.i_dirty_data_buffers.  It's no longer used - all dirty
buffers have their pages marked dirty and filemap_fdatasync() /
filemap_fdatawait() catches it all.

Updates all callers.

This required a change in JFS - it has "metapages" which
are a container around a page which holds metadata.  They
were holding these pages locked and were relying on fsync_inode_data_buffers
for writing them out.  So fdatasync() deadlocked.

I've changed JFS to not lock those pages.  Change was acked
by Dave Kleikamp <> as the right
thing to do, but may not be complete.  Probably igrab()
against ->host is needed to pin the address_space down.

16 years ago[PATCH] remove buffer head b_inode
Andrew Morton [Tue, 30 Apr 2002 06:53:09 +0000 (23:53 -0700)]
[PATCH] remove buffer head b_inode

Removal of buffer_head.b_inode.  The list_emptiness of b_inode_buffers
is used to indicate whether the buffer is on an inode's

16 years ago[PATCH] cleanup write_one_page
Andrew Morton [Tue, 30 Apr 2002 06:52:59 +0000 (23:52 -0700)]
[PATCH] cleanup write_one_page

Remove writeout_one_page(), waitfor_one_page() and the now-unused

Add new

write_one_page(struct page *page, int wait)

which is exported to modules.  Update callers to use that.  It's only
used for IS_SYNC operations.

16 years ago[PATCH] cleanup page_swap_cache
Andrew Morton [Tue, 30 Apr 2002 06:52:51 +0000 (23:52 -0700)]
[PATCH] cleanup page_swap_cache

Removes some redundant BUG checks - trueness of PageSwapCache() implies
that page->mapping is non-NULL, and we've already checked that.

16 years ago[PATCH] cleanup page flags
Andrew Morton [Tue, 30 Apr 2002 06:52:37 +0000 (23:52 -0700)]
[PATCH] cleanup page flags

page->flags cleanup.

Moves the definitions of the page->flags bits and all the PageFoo
macros into linux/page-flags.h.  That file is currently included from
mm.h, but the stage is set to remove that and include page-flags.h
direct in all .c files which require that.  (120 of them).

The patch also makes all the page flag macros and functions consistent:

For PG_foo, the following functions are defined:


and that's it.

- Page_Uptodate is renamed to PageUptodate

- LockPage is removed.  All users updated to use SetPageLocked

- UnlockPage is removed.  All callers updated to use unlock_page().
  it's a real function - there's no need to hide that fact.

- PageTestandClearReferenced renamed to TestClearPageReferenced

- PageSetSlab renamed to SetPageSlab

- __SetPageReserved is removed.  It's an infinitesimally small
   microoptimisation, and is inconsistent.

- TryLockPage is renamed to TestSetPageLocked

- PageSwapCache() is renamed to page_swap_cache(), so it doesn't
  pretend to be a page->flags bit test.

16 years ago[PATCH] minix directory handling
Andrew Morton [Tue, 30 Apr 2002 06:52:26 +0000 (23:52 -0700)]
[PATCH] minix directory handling

Convert minixfs directory code to not rely on the state of data outside

16 years ago[PATCH] remove buffer unused_list
Andrew Morton [Tue, 30 Apr 2002 06:52:18 +0000 (23:52 -0700)]
[PATCH] remove buffer unused_list

Removes the buffer_head unused list.  Use a mempool instead.

The reduced lock contention provided about a 10% boost on ANton's

16 years ago[PATCH] writeback from address spaces
Andrew Morton [Tue, 30 Apr 2002 06:52:10 +0000 (23:52 -0700)]
[PATCH] writeback from address spaces

[ I reversed the order in which writeback walks the superblock's
  dirty inodes.  It sped up dbench's unlink phase greatly.  I'm
  such a sleaze ]

The core writeback patch.  Switches file writeback from the dirty
buffer LRU over to address_space.dirty_pages.

- The buffer LRU is removed

- The buffer hash is removed (uses blockdev pagecache lookups)

- The bdflush and kupdate functions are implemented against
  address_spaces, via pdflush.

- The relationship between pages and buffers is changed.

  - If a page has dirty buffers, it is marked dirty
  - If a page is marked dirty, it *may* have dirty buffers.
  - A dirty page may be "partially dirty".  block_write_full_page
    discovers this.

- A bunch of consistency checks of the form

if (!something_which_should_be_true())

  have been introduced.  These fog the code up but are important for
  ensuring that the new buffer/page code is working correctly.

- New locking (inode.i_bufferlist_lock) is introduced for exclusion
  from try_to_free_buffers().  This is needed because set_page_dirty
  is called under spinlock, so it cannot lock the page.  But it
  needs access to page->buffers to set them all dirty.

  i_bufferlist_lock is also used to protect inode.i_dirty_buffers.

- fs/inode.c has been split: all the code related to file data writeback
  has been moved into fs/fs-writeback.c

- Code related to file data writeback at the address_space level is in
  the new mm/page-writeback.c

- try_to_free_buffers() is now non-blocking

- Switches vmscan.c over to understand that all pages with dirty data
  are now marked dirty.

- Introduces a new a_op for VM writeback:

->vm_writeback(struct page *page, int *nr_to_write)

  this is a bit half-baked at present.  The intent is that the address_space
  is given the opportunity to perform clustered writeback.  To allow it to
  opportunistically write out disk-contiguous dirty data which may be in other zones.
  To allow delayed-allocate filesystems to get good disk layout.

- Added address_space.io_pages.  Pages which are being prepared for
  writeback.  This is here for two reasons:

  1: It will be needed later, when BIOs are assembled direct
     against pagecache, bypassing the buffer layer.  It avoids a
     deadlock which would occur if someone moved the page back onto the
     dirty_pages list after it was added to the BIO, but before it was
     submitted.  (hmm.  This may not be a problem with PG_writeback logic).

  2: Avoids a livelock which would occur if some other thread is continually
     redirtying pages.

- There are two known performance problems in this code:

  1: Pages which are locked for writeback cause undesirable
     blocking when they are being overwritten.  A patch which leaves
     pages unlocked during writeback comes later in the series.

  2: While inodes are under writeback, they are locked.  This
     causes namespace lookups against the file to get unnecessarily
     blocked in wait_on_inode().  This is a fairly minor problem.

     I don't have a fix for this at present - I'll fix this when I
     attach dirty address_spaces direct to super_blocks.

- The patch vastly increases the amount of dirty data which the
  kernel permits highmem machines to maintain.  This is because the
  balancing decisions are made against the amount of memory in the
  machine, not against the amount of buffercache-allocatable memory.

  This may be very wrong, although it works fine for me (2.5 gigs).

  We can trivially go back to the old-style throttling with
  s/nr_free_pagecache_pages/nr_free_buffer_pages/ in
  balance_dirty_pages().  But better would be to allow blockdev
  mappings to use highmem (I'm thinking about this one, slowly).  And
  to move writer-throttling and writeback decisions into the VM (modulo
  the file-overwriting problem).

- Drops 24 bytes from struct buffer_head.  More to come.

- There's some gunk like super_block.flags:MS_FLUSHING which needs to
  be killed.  Need a better way of providing collision avoidance
  between pdflush threads, to prevent more than one pdflush thread
  working a disk at the same time.

  The correct way to do that is to put a flag in the request queue to
  say "there's a pdlfush thread working this disk".  This is easy to
  do: just generalise the "ra_pages" pointer to point at a struct which
  includes ra_pages and the new collision-avoidance flag.

16 years ago[PATCH] readahead fix
Andrew Morton [Tue, 30 Apr 2002 06:51:50 +0000 (23:51 -0700)]
[PATCH] readahead fix

Changes the way in which the readahead code locates the readahead
setting for the underlying device.

- struct block_device and struct address_space gain a *pointer* to the
  current readahead tunable.

- The tunable lives in the request queue and is altered with the
  traditional ioctl.

- The value gets *copied* into the struct file at open() time.  So a
  fcntl() mode to modify it per-fd is simple.

- Filesystems which are not request_queue-backed get the address of the
  global `default_ra_pages'.  If we want, this can become a tunable.

- Filesystems are at liberty to alter address_space.ra_pages to point
  at some other fs-private default at new_inode/read_inode/alloc_inode

- The ra_pages pointer can become a structure pointer if, at some time
  in the future, high-level code needs more detailed information about
  device characteristics.

  In fact, it'll need to become a struct pointer for use by
  writeback: my current writeback code has the problem that multiple
  pdflush threads can get stuck on the same request queue.  That's a
  waste of resources.  I currently have a silly flag in the superblock
  to try to avoid this.

  The proper way to get this exclusion is for the high-level
  writeback code to be able to do a test-and-set against a
  per-request_queue flag.  That flag can live in a structure alongside
  ra_pages, conveniently accessible at the pagemap level.

One thing still to-be-done is going into all callers of blk_init_queue
and blk_queue_make_request and making sure that they're setting up a
sensible default.  ATA wants 248 sectors, and floppy drives don't want
128kbytes, I suspect.  Later.

16 years ago[PATCH] page accounting
Andrew Morton [Tue, 30 Apr 2002 06:51:42 +0000 (23:51 -0700)]
[PATCH] page accounting

This patch provides global accounting of locked and dirty pages.  It
does this via lightweight per-CPU data structures.  The page_cache_size
accounting has been changed to use this facility as well.

Locked and dirty page accounting is needed for making writeback and
throttling decisions.

The patch also starts to move code which is related to page->flags
out of linux/mm.h and into linux/page-flags.h

16 years ago[PATCH] ext2 directory handling
Andrew Morton [Tue, 30 Apr 2002 06:51:34 +0000 (23:51 -0700)]
[PATCH] ext2 directory handling

Convert ext2 directory handling to not rely on the contents of pages
outside i_size.

This is because block_write_full_page (which is used for all writeback)
zaps the page outside i_size.

16 years ago[PATCH] page_alloc failure printk
Andrew Morton [Tue, 30 Apr 2002 06:51:26 +0000 (23:51 -0700)]
[PATCH] page_alloc failure printk

Emit a printk when a page allocation fails.  Considered useful for
diagnosing crashes.

16 years agoMerge 2.5.11 into sysvfs development tree
Christoph Hellwig [Mon, 29 Apr 2002 15:03:14 +0000 (17:03 +0200)]
Merge 2.5.11 into sysvfs development tree

16 years ago[PATCH] Re: 2.5.11 breakage
Alexander Viro [Mon, 29 Apr 2002 11:14:24 +0000 (04:14 -0700)]
[PATCH] Re: 2.5.11 breakage

OK, here comes.  Patch below is an attempt to do the fastwalk
stuff in right way and so far it seems to be working.

 - dentry leak is plugged
 - locked/unlocked state of nameidata doesn't depend on history - it
   depends only on point in code.
 - LOOKUP_LOCKED is gone.
 - following mounts and .. doesn't drop dcache_lock
 - light-weight permission check distinguishes between "don't know" and
   "permission denied", so we don't call full-blown permission() unless
   we have to.
 - code that changes root/pwd holds dcache_lock _and_ write lock on
   current->fs->lock.  I.e. if we hold dcache_lock we can safely
   access our ->fs->{root,pwd}{,mnt}
 - __d_lookup() does not increment refcount; callers do dget_locked()
   if they need it (behaviour of d_lookup() didn't change, obviously).
 - link_path_walk() logics had been (somewhat) cleaned up.

16 years agoMerge
Kai Germaschewski [Mon, 29 Apr 2002 04:38:59 +0000 (23:38 -0500)]

16 years agoAdd drivers/video/fbgen.o to export-objs.
Kai Germaschewski [Mon, 29 Apr 2002 04:38:30 +0000 (23:38 -0500)]
Add drivers/video/fbgen.o to export-objs.

fbgen.o was changed to explicitly export symbols but not added to

16 years agodrivers/char/ip2main: Export symbols explicitly
Kai Germaschewski [Mon, 29 Apr 2002 04:34:24 +0000 (23:34 -0500)]
drivers/char/ip2main: Export symbols explicitly

16 years agodrivers/net/wan/dlci: Export symbols explicitly
Kai Germaschewski [Mon, 29 Apr 2002 04:34:06 +0000 (23:34 -0500)]
drivers/net/wan/dlci: Export symbols explicitly

16 years agodrivers/block/paride: Export symbols explicitly
Kai Germaschewski [Mon, 29 Apr 2002 04:33:37 +0000 (23:33 -0500)]
drivers/block/paride: Export symbols explicitly

Before this changed we relied on the fact that due to missing
EXPORT_SYMBOL() all symbols would be exported.

16 years ago[PATCH] 2.5.10 IDE 45
Martin Dalecki [Mon, 29 Apr 2002 03:44:49 +0000 (20:44 -0700)]
[PATCH] 2.5.10 IDE 45

- Fix bogus set_multimode() change. I tough I had reverted it before diff-ing.
   This was causing hangs of /dev/hdparm -m8 /dev/hda and similar commands.

16 years agoAdd a missing "UDMA100" entry in udma name table.
Vojtech Pavlik [Sun, 28 Apr 2002 15:30:56 +0000 (17:30 +0200)]
Add a missing "UDMA100" entry in udma name table.

16 years agoThis patch adds support for the new Intel C-ICH and ICH4 IDE controllers.
Vojtech Pavlik [Sun, 28 Apr 2002 15:27:51 +0000 (17:27 +0200)]
This patch adds support for the new Intel C-ICH and ICH4 IDE controllers.

16 years agoRefix broken bitop target that got re-broken by the CVS merge
Linus Torvalds [Sun, 28 Apr 2002 12:52:10 +0000 (05:52 -0700)]
Refix broken bitop target that got re-broken by the CVS merge

16 years agoMissing function declaration
Linus Torvalds [Sun, 28 Apr 2002 12:51:43 +0000 (05:51 -0700)]
Missing function declaration

16 years agoMerge bk://
Linus Torvalds [Sun, 28 Apr 2002 12:29:37 +0000 (05:29 -0700)]
Merge bk://

16 years ago[PATCH] minor cleanup in ext3 code
Andreas Dilger [Sun, 28 Apr 2002 12:28:40 +0000 (05:28 -0700)]
[PATCH] minor cleanup in ext3 code

The following patch is a _very minor_ cleanup in the ext3 code for
ext3_prepare_write().  It simply removes the setting of "handle" from
the current transaction handle, because "handle" is actually set again
a couple of lines later, where it properly allocates a new transaction
handle for this write.  The code removed in this patch is probably left
over from some development version of ext3 where the transaction handle
was started before ext3_prepare_write was called.

The only reason I saw this was because I was trying to find where the
handle was allocated for an ext3 file write, and at first glance it
didn't appear to be allocated anywhere...

16 years agoAutomerge
Linus Torvalds [Sun, 28 Apr 2002 12:27:32 +0000 (05:27 -0700)]

16 years agoMerge
Linus Torvalds [Sun, 28 Apr 2002 12:22:43 +0000 (05:22 -0700)]

16 years ago[PATCH] gdb/strace fix for 2.5.x
Ivan Kokshaysky [Sun, 28 Apr 2002 12:20:42 +0000 (05:20 -0700)]
[PATCH] gdb/strace fix for 2.5.x

Yes, gdb and strace are broken on alpha since 2.5.6, IIRC.
Some necessary 'thread_info' changes still are missing in ptrace.c.

Fixed thus.

16 years agoMerge
Linus Torvalds [Sun, 28 Apr 2002 12:17:41 +0000 (05:17 -0700)]

16 years ago[PATCH] 2.5.10 BKL not always released in sem_exit()
Chris Wright [Sun, 28 Apr 2002 12:17:09 +0000 (05:17 -0700)]
[PATCH] 2.5.10 BKL not always released in sem_exit()

The patch below fixes sem_exit() so that the BKL is always released.

16 years ago[PATCH] BTTV .text.exit link fix with newer binutils
Sebastian Dröge [Sun, 28 Apr 2002 12:16:15 +0000 (05:16 -0700)]
[PATCH] BTTV .text.exit link fix with newer binutils

Here's a simple patch to allow the bttv driver to be build with newer

16 years ago[PATCH] vsnprintf returns incorrect length
Benjamin LaHaise [Sun, 28 Apr 2002 12:15:46 +0000 (05:15 -0700)]
[PATCH] vsnprintf returns incorrect length

In conjunction with some of the earlier problems found in /proc code,
now it turns out that snprintf doesn't work correctly in the kernel...
Without the following patch, snprintf can return lengths greater than
the size argument passed.  The net effect is that code using the return
value from snprintf can still buffer overrun.  This is fixed by not
updating the pointer in the buffer unless there is actually space.

16 years ago[PATCH] drop obsolete stat/waitpid/s(sg)etmask/signal from ARM build
Russell King [Sun, 28 Apr 2002 12:15:14 +0000 (05:15 -0700)]
[PATCH] drop obsolete stat/waitpid/s(sg)etmask/signal from ARM build

The following patch drops the above functions from the ARM port; we've
already removed them from the syscall table on ARM, so we can safely
remove these from the ARM build.

16 years agoMerge bk://
Linus Torvalds [Sun, 28 Apr 2002 12:10:38 +0000 (05:10 -0700)]
Merge bk://

16 years ago[PATCH] BKL documentation update change
Dave Hansen [Sun, 28 Apr 2002 12:08:39 +0000 (05:08 -0700)]
[PATCH] BKL documentation update change

I added ->readdir(), and a new section referring to the sb_op BKL shift
as well.

16 years ago[PATCH] scsi mid to lower level api documentation
Douglas Gilbert [Sun, 28 Apr 2002 12:07:55 +0000 (05:07 -0700)]
[PATCH] scsi mid to lower level api documentation

Here is some documentation to describe the interface of lower level
drivers (e.g.  aic7xxx) in the scsi subsystem.

The patch is made up of a text file: drivers/scsi/scsi_mid_low_api.txt
and some Documentation/DocBook additions to enable html, ps and pdf

16 years ago[PATCH] Re: [patch] change mempool to not alter managed elements
Andrew Morton [Sun, 28 Apr 2002 12:07:20 +0000 (05:07 -0700)]
[PATCH] Re: [patch] change mempool to not alter managed elements

Here's an array-based implementation.

16 years ago[PATCH] Removing SYMBOL_NAME part 5
Brian Gerst [Sun, 28 Apr 2002 12:04:30 +0000 (05:04 -0700)]
[PATCH] Removing SYMBOL_NAME part 5

ARM arch

16 years ago[PATCH] Removing SYMBOL_NAME part 4
Brian Gerst [Sun, 28 Apr 2002 12:04:21 +0000 (05:04 -0700)]
[PATCH] Removing SYMBOL_NAME part 4

m68k arch

16 years ago[PATCH] Removing SYMBOL_NAME part 3
Brian Gerst [Sun, 28 Apr 2002 12:04:10 +0000 (05:04 -0700)]
[PATCH] Removing SYMBOL_NAME part 3

SuperH arch

16 years ago[PATCH] Removing SYMBOL_NAME part 2
Brian Gerst [Sun, 28 Apr 2002 12:04:01 +0000 (05:04 -0700)]
[PATCH] Removing SYMBOL_NAME part 2

CRIS and x86-64 arches

16 years ago[PATCH] Removing SYMBOL_NAME part 1
Brian Gerst [Sun, 28 Apr 2002 12:03:00 +0000 (05:03 -0700)]
[PATCH] Removing SYMBOL_NAME part 1

The SYMBOL_NAME macro (and variations) have been obsolete since 2.1.0,
when the option to compile the kernel in a.out format was removed.  This
patch starts the process of removing these macros, starting with x86.

16 years ago[PATCH] get rid of some blk.h cruft
Dave Jones [Sun, 28 Apr 2002 11:58:26 +0000 (04:58 -0700)]
[PATCH] get rid of some blk.h cruft

Originally by Christoph Hellwig back in February.
It recieved no objections when posted to l-k & Jens.

o remove DEVICE_REQUEST definitions - never used in blk.h itself.
o remove DEVICE_ON() - never used at all.
o define LOCAL_END_REQUEST when we do not want end_request() instead
  of other hacks.
o remove DEVICE_OFF() - only used in floppy driver, thus one now has
  a private end_request().
o use private end_request() functions for drivers not providing
o remove TIMEOUT_VALUE - only ever used in hd.c

16 years ago[PATCH] missing cris entries
Dave Jones [Sun, 28 Apr 2002 11:58:15 +0000 (04:58 -0700)]
[PATCH] missing cris entries

Some that got lost along the way...

16 years ago[PATCH] Missing include.
Dave Jones [Sun, 28 Apr 2002 11:57:56 +0000 (04:57 -0700)]
[PATCH] Missing include.

Uses the error codes, but doesn't include err.h

16 years ago[PATCH] broken comment in cris driver
Dave Jones [Sun, 28 Apr 2002 11:57:45 +0000 (04:57 -0700)]
[PATCH] broken comment in cris driver

16 years ago[PATCH] Dynamic LDT sizing.
Dave Jones [Sun, 28 Apr 2002 11:57:35 +0000 (04:57 -0700)]
[PATCH] Dynamic LDT sizing.

Originally from Manfred Spraul.

* dynamically grow the LDT
Every app that's linked against libpthread right now allocates a full 64
kB LDT, without proper error handling, and always from the vmalloc area

16 years ago[PATCH] iphase bits
Dave Jones [Sun, 28 Apr 2002 11:57:26 +0000 (04:57 -0700)]
[PATCH] iphase bits

- Nuke unnecessary include.
- More infortmational debug info

16 years ago[PATCH] MAINTAINERS update
Dave Jones [Sun, 28 Apr 2002 11:57:15 +0000 (04:57 -0700)]

Various bits mostly from 2.4
Also fix indentation of various entries to match the rest of the file.

16 years ago[PATCH] New synclink multiport driver.
Dave Jones [Sun, 28 Apr 2002 11:57:05 +0000 (04:57 -0700)]
[PATCH] New synclink multiport driver.

Posted multiple times to l-k by Paul Fulghum

16 years ago[PATCH] New synclink_cs driver.
Dave Jones [Sun, 28 Apr 2002 11:56:55 +0000 (04:56 -0700)]
[PATCH] New synclink_cs driver.

Posted multiple times to l-k by Paul Fulghum.

16 years ago[PATCH] x86-64 bluesmoke update
Dave Jones [Sun, 28 Apr 2002 11:56:46 +0000 (04:56 -0700)]
[PATCH] x86-64 bluesmoke update

- Drop Intel P4 bits
- Update other parts in line with latest i386 bluesmoke.c

16 years ago[PATCH] sf16fmi card detect thinko
Dave Jones [Sun, 28 Apr 2002 11:56:35 +0000 (04:56 -0700)]
[PATCH] sf16fmi card detect thinko

Missing loop increment.

16 years ago[PATCH] NCR53c810 PCI quirk
Dave Jones [Sun, 28 Apr 2002 11:56:26 +0000 (04:56 -0700)]
[PATCH] NCR53c810 PCI quirk

This device returns a wrong class code which we work around at boot up time.

16 years ago[PATCH] x86 pci-pc janitor work
Dave Jones [Sun, 28 Apr 2002 11:56:15 +0000 (04:56 -0700)]
[PATCH] x86 pci-pc janitor work

- printk loglevels
- request region checks.

16 years ago[PATCH] Also look in /boot for .config
Dave Jones [Sun, 28 Apr 2002 11:56:05 +0000 (04:56 -0700)]
[PATCH] Also look in /boot for .config

Try to get config file distro placed in boot.

16 years ago[PATCH] recognise P4 Xeon in mptable.
Dave Jones [Sun, 28 Apr 2002 11:55:56 +0000 (04:55 -0700)]
[PATCH] recognise P4 Xeon in mptable.

16 years ago[PATCH] PCI access method fallback.
Dave Jones [Sun, 28 Apr 2002 11:55:46 +0000 (04:55 -0700)]
[PATCH] PCI access method fallback.

Some SiS boards won't boot without pci=bios forcing their method.
The reason for this is in the probe method, we try the BIOS method, and it
succeeds and we store the pci_ops. We then try the direct access, it fails
and we trash the old pci_ops.
The patch stores the pci_ops when BIOS method succeeds and restores it
if the direct hardware access method fails.

16 years ago[PATCH] sonypi update.
Dave Jones [Sun, 28 Apr 2002 11:55:35 +0000 (04:55 -0700)]
[PATCH] sonypi update.

From Stelian, already in 2.4

16 years ago[PATCH] fix xconfig.
Dave Jones [Sun, 28 Apr 2002 11:55:26 +0000 (04:55 -0700)]
[PATCH] fix xconfig.

We now have so many CONFIG_ options we overflow a buffer in xconfig.
Doubling the size should see us until someone either writes a replacement,
or can be bothered to make it dynamically allocate.

16 years ago[PATCH] help texts for patch-kernel
Dave Jones [Sun, 28 Apr 2002 11:55:16 +0000 (04:55 -0700)]
[PATCH] help texts for patch-kernel

16 years ago[PATCH] Jiffies wrap fixes.
Dave Jones [Sun, 28 Apr 2002 11:55:06 +0000 (04:55 -0700)]
[PATCH] Jiffies wrap fixes.

16 years ago[PATCH] bluesmoke update.
Dave Jones [Sun, 28 Apr 2002 11:54:56 +0000 (04:54 -0700)]
[PATCH] bluesmoke update.

o   P4 thermal throttling is now compile time option
o   ifdefs cleaned up due to above
o   Only poke the LVT if thermal throttling is enabled.
o   Remove bogus cache flushing as per previous discussion.
o   Replace hard coded timer values with MCE_RATE
o   Change default polling frequency from 5 to 15 seconds
o   SMP fixes. (Don't readd timer)
o   Compile time warning fixes.
o   Add config helptext

16 years ago[PATCH] Recognise extra TV card
Dave Jones [Sun, 28 Apr 2002 11:54:45 +0000 (04:54 -0700)]
[PATCH] Recognise extra TV card

16 years ago[PATCH] ALI 1644 AGP/DRM support.
Dave Jones [Sun, 28 Apr 2002 11:54:35 +0000 (04:54 -0700)]
[PATCH] ALI 1644 AGP/DRM support.

16 years ago[PATCH] A20 tweak for AMD Elan
Dave Jones [Sun, 28 Apr 2002 11:54:25 +0000 (04:54 -0700)]
[PATCH] A20 tweak for AMD Elan

The A20 code needs a slight tweak to work on AMD Elans.
Original patch from Robert Schwebel

16 years ago[PATCH] xattr locking
Nathan Scott [Sun, 28 Apr 2002 11:46:35 +0000 (04:46 -0700)]
[PATCH] xattr locking

This is a patch from Andreas Gruenbacher (the ext2/ext3 EA patch
maintainer) which converts the extended attribute VFS code from
using the BKL to instead use the inode semaphore; please apply.

16 years ago[PATCH] Report Luns for scsi devices 2.5.10
Douglas Gilbert [Sun, 28 Apr 2002 11:45:21 +0000 (04:45 -0700)]
[PATCH] Report Luns for scsi devices 2.5.10

Here's a patch for SCSI REPORT LUN scanning, including Douglas Gilbert's
recent changes to support a short INQUIRY followed by a longer INQUIRY.

Please apply, or let me know if you think it needs any modifications.

It's against linux-2.5.4. It does _not_ change the size of the linux lun.

A description of the 8 byte LUN layout can be found on page 35 of:

The above is a draft, but matches the layout seen on most disk arrays
(including EMC, IBM, LSI, and Hitachi). Later drafts (post SCSI-3) have
this information in the SCSI Architectural Model.

Patch description:

Adds REPORT LUN scanning.

Adds Douglas Gilbert's INQUIRY modification so broken devices that cannot handlean INQUIRY
of more than 36 bytes can be black-listed, plus saving the INQUIRY
result in Scsi_Device.

Adds scan_scsis_target function, replacing code in scan_scsis and parts
of scan_scsis_single. This cleans up the scanning code, and removes a
really ugly for loop. It would be difficult to add REPORT LUN scanning
without this change.

Adds missing scsi_release_commandblocks().

No longer sets max_dev_lun out of bounds for BLIST_FORCELUN devices.

Fixes scanning past LUN 7 for SCSI-3 devices (the patch in 2.4.17
for that fix will not cleanly apply against this code).

-- Patrick Mansfield

16 years ago[PATCH] scsi generic (sg) driver 2.5.10
Douglas Gilbert [Sun, 28 Apr 2002 11:45:10 +0000 (04:45 -0700)]
[PATCH] scsi generic (sg) driver 2.5.10

    Changes since 3.5.24 (20020319)
        - use Scsi_Request::upper_private_data
        - zero buffers for non-root users
    Changes since 3.5.23 (20011231)
        - change EACCES to EPERM when O_RDONLY is insufficient
        - suppress newlines in host string
        - fix xfer direction, old interface, short reply_len [Travers Carter]

16 years ago[PATCH] ALSA PATCH against ChangeSet 1.567
Jaroslav Kysela [Sun, 28 Apr 2002 11:24:45 +0000 (04:24 -0700)]
[PATCH] ALSA PATCH against ChangeSet 1.567


this ALSA patch contains:

- fixed sound_core.c - devfs names
- added ARM driver for H3x00 iPaq handhelds from Compaq
- added RME Digi32 driver
- increased number of RawMidi devices per card to 8
- removed unimplemented IPC definitions from asequencer.h
- compilation fixes for snd_printk/snd_printd
- added snd_midi_event_no_status() function to seq_midi_event.c
  - used in OSS emulation code to follow OSS/Lite behaviour
- fixed snd_pcm_playback_silence() function (possible memory leak)
- fixed endless loop in snd_pcm_playback_drain()
  - OSS applications using mmap() should end correctly now
- fixed autoloading of sequencer clients (oops)
- fixed virmidi code (emu10k1)
- improved OPL4 chip detection
- fixed deadlock in sound/i2c.h
- improved cs8427 chip support (proper initialization)
- improved CMI8330 detection
- improved S/PDIF detection in ENS1371 driver
- fixed possible NULL pointer dereference in FM801 driver
- added ICH4 to intel8x0 driver
- fixed port names allocation in intel8x0 driver
- fixed rate detection in intel8x0 driver
- AC97 code
  - better initialization for wolfson codecs
  - improved CS4205 support (special S/PDIF handling)
- emu10k1/audigy updates


16 years ago[PATCH] 2.5.10 IDE 44
Martin Dalecki [Sun, 28 Apr 2002 04:18:09 +0000 (21:18 -0700)]
[PATCH] 2.5.10 IDE 44

Reduce the "rain forest" of pointers a bit.

- Use the channel info from the drive instead of from hwgroup where possible.
   Since we have now a direct association between a channel and irq, we can fix
   the handler for unexpected interrupts to don't have to iterate over multiple

- Finally it was just possible to remove the circular list of channels
   associated with a hwif. The hwif member of struct hwgroup_s as well as
   next member if struct ata_channel are gone.

- Unify ide_build_sglist() and raw_build_sglist() in to one function.  Use the
   queue associated with a request in the case of a CMD request there instead of
   referencing the device minor number. This will be pushed even further later.

16 years ago[PATCH] 2.5.10 IDE 43
Martin Dalecki [Sun, 28 Apr 2002 03:21:49 +0000 (20:21 -0700)]
[PATCH] 2.5.10 IDE 43

Some of the following is a bit of sensitive... but anyway it has to be done.

- Scarp "portability" macros ide_request_irq() and ide_free_irq().  What a
   great of a surprise in the face of a kernel nowadays ported to nearly any
   major CPU out there, but apparently no platform needs something special here.
   All of them are just using the normal request_irq() and free_irq(). If some
   unusual platform (read obsolete door blocker) I have overlooked intentionally
   needs something special - please just hack the platform specific
   request_irq() and free_irq()-  they are *far off* from being performance
   relevant. (Hint: You could use cooked default irq values to detect there
   whatever the caller was the ATA driver to decide what to do about it.)

- Kill ide_check_region() ide_request_region() and ide_release_region()
   altogether. Add comments explaining the code there.  Same arguments as above
   apply. Additionally we want to be able at some time to do for example mmapped
   PCI address space access on IA32 instead of port IO.

- Rewrite the initialization code to don't use check_region at all. Add some
   comments there, which explain what's actually happening.

- Fix creeping in of a c99 construct.

- Make the main interrupt handler take a channel as data instead of the
   hwgroup. This is the entity an interrupt is physically associated with. PCI
   interrupt sharing is handled in a generically anyway. Analogously the main
   data entity of a device request queue (q->queuedata) is the device and not
   the hwgroup.  However right now we are only able to push it down to the
   channel level. The intention is to advance the choose_drive() function to
   just check for equal interrupt values for serialization of request and
   thus to get rid of the hwgroup altogether.

16 years agoNTFS: 2.0.4 - Cleanups and updates for kernel 2.5.11.
Anton Altaparmakov [Sat, 27 Apr 2002 16:27:58 +0000 (17:27 +0100)]
NTFS: 2.0.4 - Cleanups and updates for kernel 2.5.11.

- Add documentation on how to use the MD driver to be able to use NTFS
stripe and volume sets in Linux and generally cleanup documentation
a bit.

Remove all uses of kdev_t in favour of struct block_device *:
- Change compress.c::ntfs_file_read_compressed_block() to use sb_getblk()
instead of getblk().
- Change super.c::ntfs_fill_suoer() to use bdev_hardsect_size() instead
of get_hardsect_size().
- No need to get old blocksize in super.c::ntfs_fill_super() as
fs/super.c::get_sb_bdev() already does this.
- Set bh->b_bdev instead of bh->b_dev throughout aops.c.

16 years agoMerge bk:// into
Anton Altaparmakov [Sat, 27 Apr 2002 13:09:01 +0000 (14:09 +0100)]
Merge bk:// into

16 years agoNTFS 2.0.3: Small bug fixes, cleanups, and performance improvements.
Anton Altaparmakov [Fri, 26 Apr 2002 14:11:12 +0000 (15:11 +0100)]
NTFS 2.0.3: Small bug fixes, cleanups, and performance improvements.
- Remove some dead code from mft.c.
- Optimize readpage and read_block functions throughout aops.c so that
  only initialized blocks are read. Non-initialized ones have their
  buffer head mapped, zeroed, and set up to date, without scheduling
  any i/o. Thanks to Al Viro for advice on how to avoid the device i/o.
Thanks go to Andrew Morton for spotting the below:
- Fix buglet in allocate_compression_buffers() error code path.
- Call flush_dcache_page() after modifying page cache page contents in
- Check for existence of page buffers throughout aops.c before calling
  create_empty_buffers(). This happens when an I/O error occurs and the
  read is retried. (It also happens once writing is implemented so that
  needed doing anyway but I had left it for later...)
- Don't BUG_ON() uptodate and/or mapped buffers throughout aops.c in
  readpage and read_block functions. Reasoning same as above (i.e. I/O
  error retries and future write code paths.)