1. 07 May, 2002 10 commits
    • Martin Dalecki's avatar
      [PATCH] IDE 58 · 96a878c0
      Martin Dalecki authored
       - m68k fixes by Roman Zippel.
      
       - CDROM PIO mode fix by Osamu Tamita.
         (You are true "Hawk-eye" hovering over my head! Respect - and many Thanks.)
      
       - Virtualize the udma_enable method as well to help ARM and PPC people.  Please
         please if you would like to have some other methods virtualized in a similar
         way - just tell me or even better do it yourself at the end of ide-dma.c.
         I *don't mind* patches.
      
       - Fix the pmac code to adhere to the new API. It's supposed to work again.
         However this is blind coding... I give myself 80% chances for it to work ;-).
      96a878c0
    • Martin Dalecki's avatar
      [PATCH] 2.5.14 IDE 57 · 682a9c41
      Martin Dalecki authored
      Nuke /proc/ide. For explanations why, please see the frustrated comments in the
      previous change log. If one still don't see why it wasn't a good thing,
      well please just take a look at the following:
      
      Kernel size before:
      
          text    data     bss     dec     hex filename
      1716049  403968  470252 2590269  27863d vmlinux
      
      Kernel size after:
      
          text    data     bss     dec     hex filename
      1680993  403488  470124 2554605  26faed vmlinux
      
      2% of overall size! And this is not exactly an minimalistic setup.
      682a9c41
    • Martin Dalecki's avatar
      [PATCH] 2.5.14 IDE 56 · 470d15bb
      Martin Dalecki authored
       - Push poll_timeout down from the hwgroup to the channel. We are resetting the
         channel and not a whole hwgroup. This way using multiple pdc202xxx cards
         should magically start to work with multiple performance and resets will no
         longer lock the system.
      
       - Updates for PDC4030 by Peter Denison <peterd@marshadder.uklinux.net>.
      
       - Make ide_raw_taskfile don't care about request buffers. They where always
         NULL.
      
       - Port set multi mode count over from the special setting interface to
         ide_raw_taskfile. Fix errors in the corresponding interrupt handler in one go
         as well. It turned out that this is precisely the same code as in
         task_no_data_intr, so we can nuke it altogether. And finally we have found
         some problems with the set_pio_mode() command which can fail with -EBUSY -
         this is in esp. probably *very* common during boot hdparm usage those days!
         (OK it was masked by reportig too early that it finished...  Crap Crap utter
         crap it was!!!) Right now hdparm should just be extendid to properly
         sync and retry on   -EBUSY and everything should be fine.
      
         And now the 1 Milion EUR question for everybody who loves to put driver
         settings in to /proc:
      
         How the hell could echo > /proc/ide/ide0/settings blah blah blah blah handle
         properly cases like -EIO, -EBUSY and so on??? Having the possibility o do it
         does not mean that it is a good idea to use it.
      
         OK. After realizing the simple fact that quite a lot of low level hardware
         manipulating ioctls may require assistance in usage from proper logic which is
         *very* unlikely to be implemented in a bash (for me preferable still ksh) I
         have made my mind up.
      
      	/proc/ide will be nuked.
      
       - Execute the recalibration for error recovery on precisely the same request as
         the one which failed.
      
       - Remove set geometry.  It's crap by means of standard specification. Because:
      
         1. We rely on the existence of the identify command anyway.
      
         2. This command was obsoleted *before* the identify command existed as far
         as I can see.
      
         2. I'm able to have a look at what other ATA/ATAPI drivers in the wild do:
         They don't do it.
      
       - Just call tuneproc in set_pio_mode() directly - we are already behind the rq
         queue there.
      
       - After we have uncovered the broken logics behind the whole ioctl handling we
         now just have made ide_spin_wait_hwgroup() waiting for a proper somehow
         longer timeout before giving up. This was previously just hiding the broken
         concept of setting ioctl values through /proc/ide/ideX/settings - now it just
         really helps hdparm to not to give up too early. (It shouldn't probably play
         wreck havock on the global driver spin lock as well. I will look in to this
         later.)
      
       - Scrap the non necessary, to say the least, disabling of interrupts for 3,
         read it again please, 3 seconds, on the local CPU inside
         ide_spin_wait_hwgroup().  Spin lock handling needs checking there badly as I
         see now as well...
      
      Hey apparently any "special" requests are gone. We now have only
      to deal with REQ_DEVICE_ACB and REQ_DEVICE_CMD. One of them is still too
      much and will be killed.
      470d15bb
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd/FAT in 2.5.14 - Add export_operations support for FAT · 537ad07f
      Neil Brown authored
      This actually contains a lot of code that is never used,
      as we don't currently attempt to load an inode that isn't
      in cache, so the fat_get_parent is never actually reached.
      However it is there (and should be right) incase some brave
      soul does decide to enhance fat_get_dentry accordingly.
      537ad07f
    • Neil Brown's avatar
      [PATCH] PATHC - kNFSd/reiserfs in 2.5.14 - Convert reisferfs to use export_operations · 6f9a2db9
      Neil Brown authored
      This patch converts reiserfs to use the new export_operations
      interface for exporting a filesystem instead of the old
      fh_to_dentry and dentry_to_fh.
      Essentially it:
      
        - renamed reiserfs_dentry_to_fh to reiserfs_encode_fh
        - split reiserfs_fh_to_dentry into reiserfs_get_dentry
          and reiserfs_decode_fh
        - calls d_splice_alias from reiserfs_lookup so that building
          a dcache path from the bottom works well
        - addes reiserfs_get_parent to do a lookup of ".." without going
          through the VFS interfaces.
        - sets sb->s_export_op to be an appropriately initialised
          struct export_operations
      
      This has been tested and works.
      6f9a2db9
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd/ext3 in 2.5.14 - export_operations support for ext3 · 35116208
      Neil Brown authored
      This patch converts ext3 to use the new export_operations for
      exporting a filesystem.
      In particular it
       - defines "ext3_get_parent" to do a lookup(".."),
       - calls d_splice_alias when ext3_lookup finds something,
         so that build a dcache path from the bottom up works, and
       - sets sb->s_export_op to point to an (almost empty)
         export_operations structure.  The fact that it is mostly empty
         means that the default lookup operations are used, which match the
         previous approach (i.e. use iget, and then check the generation
         number).
      35116208
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd in 2.5.14 - Add a kernel_lock in d_splice_alias · 7f045822
      Neil Brown authored
      d_move wants the kernel to be locked, so
      d_splice_alias now takes that lock.
      7f045822
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd in 2.5.14 - Tidy up comments in expfs.c · e563665e
      Neil Brown authored
      Chris Wright <chris@wirex.com>  suggested these to limit to 80
      columns and such.
      e563665e
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd in 2.5.14 - Two small changes to nfsd/nfssvc.c · 2d12a23f
      Neil Brown authored
      1/ Return correct error code if nfs server creation fails
      2/ Increase limit on number of nfsd threads
      
         There is no real justification for stopping a sysadmin
         from running lots and lots of nfsd threads, so we raise the
         imposed limit from 128 to 8192... maybe it should just go away...
      2d12a23f
    • Neil Brown's avatar
      [PATCH] PATCH - kNFSd - Remove flowcontrol problems with lockd/tcp · 103b47f1
      Neil Brown authored
      The sunrpc/tcp layer currently allocates some resources linearly with
      number of server threads.  This causes problems when there are very
      small numbers of threads (e.g. lockd with one thread), so this patch
      adds a small constant to the number of threads before calculating
      resoures to allocate.
      
      This patch also provide proper upper-limits for the response sizes for
      lockd requests, so resources are not over-allocated.
      
      Together these resolve problems with heavy lockd load over tcp.
      103b47f1
  2. 06 May, 2002 5 commits
    • Christoph Hellwig's avatar
      [PATCH] small filemap.c/pagemap.h cleanups · fb91d591
      Christoph Hellwig authored
       - remove page_cache_entry - I think it never ever was actually used.
       - remmove wake_up_page (as in 2.4) - never used
       - remove misleading comment ontop of pagemap.h
       - make wait_on_page* directly call wait_on_page_bit
       - some reordering and additional comments in pagemap.h
      fb91d591
    • Linus Torvalds's avatar
      Merge http://linux-ntfs.bkbits.net/ntfs-tng-2.5 · b660b3b3
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      b660b3b3
    • Anton Altaparmakov's avatar
      NTFS: Fix compilation on 2.5.14 ({set_,clear_,}buffer_async was renamed · bea6c33c
      Anton Altaparmakov authored
      to {set_,clear_,}buffer_async_read).
      bea6c33c
    • Martin Dalecki's avatar
      [PATCH] 2.5.14 IDE 55 · fb0bbfda
      Martin Dalecki authored
       - Update HPT374 driver carried over from 2.4.xx series by Andrew Morton.
         Resync it with the recent host chip driver changes, or better the
         introduction of an API at all.
      
       - Consolidate the handling of device ID byte order in one place.
         This was spotted and patched by Bartomiej onierkiewicz.
      
       - Eliminate CONFIG_BLK_DEV_IDEPCI - it's duplicating the functionality of the
         already present and fine CONFIG_PCI flag and if we are a PCI host, we are
         indeed very likely to need host chip support anyway.
      
       - Remove some redundant info about the model and channel number from
         /proc/ide. Remove the binary entries not helpful to the user, and not used
         by any program and redundant to corresponding ioctls.
      
       - Properly return udma_read and udma_write values in taskfile.
      
       - Only initialize XXX_udma to the default handlers if it has not been
         initialized by the host chip initialization.
      
      I have enabled spin lock debugging and can see that on device
      flush the spin locks get wrong counts... no problems elsewher ethus
      far. I will re check them next time around.
      fb0bbfda
    • Jens Axboe's avatar
      [PATCH] tcq initialization fix · 45bfe840
      Jens Axboe authored
      Transposed the last two arguments to memset, causing a slab poisoned
      kernel not to use tagging correctly... Brown paper bag stuff.
      45bfe840
  3. 05 May, 2002 19 commits
    • Linus Torvalds's avatar
      Update kernel version · 702d27c7
      Linus Torvalds authored
      702d27c7
    • Linus Torvalds's avatar
      Fix missed parts in the BH locking patch · 7c962f79
      Linus Torvalds authored
      7c962f79
    • Christoph Hellwig's avatar
      [PATCH] architecture-independand si_meminfo · ac0f5e76
      Christoph Hellwig authored
      Si_meminfo() is basically the same for all architectures (mips is a little
      different by providing a value for the shared field that is different from
      the originial intent, I will come back to this later), so it makes to have just
      one instance of it:
      ac0f5e76
    • Christoph Hellwig's avatar
      [PATCH] fix config.in syntax errors. · bf0f0f39
      Christoph Hellwig authored
       - appletalk adds unnessesary additional arguments to bool
       - net/wan has two comment statements on one line, separated by a + (!),
         also fixup indentation here.
       - sound uses a bool where it should use a dep_bool
      bf0f0f39
    • Christoph Hellwig's avatar
      [PATCH] remove global_bufferlist_lock · 1832e934
      Christoph Hellwig authored
      This patch addresses Andrew's FIXME in buffer.c and adds a spinlock that
      can be passed to the buffer list manipulation functions to the reiserfs
      journal.  This obsoletes the cheks for lock beeing NULL in buffer.c and
      the global_bufferlist_lock.
      
      In addition osync_inode_list is changed to use list_for_each_prev as in 2.4
      instead of a hand-crafted loop.
      
      A little comment to the reiserfs folks:  your code would be _sooo_ much
      easier to understand if you used temporary local variables for often
      referenced fields..
      1832e934
    • Alexander Viro's avatar
      [PATCH] do_mounts.c printk fix · a0f9f9c7
      Alexander Viro authored
      	D'uh.  Linus, 2.5 also needs that one.
      
      BTW, folks - whoever had submitted "fixes" replacing /dev/root.old with
      /old/dev/root.old several lines above that one are welcome to think
      about the reasons why their patches removed "failed" from boot log.
      a0f9f9c7
    • Andrew Morton's avatar
      [PATCH] Documentation update · ae36945e
      Andrew Morton authored
      ae36945e
    • Andrew Morton's avatar
      [PATCH] Fix concurrent writepage and readpage · d58e41ee
      Andrew Morton authored
      Pages under writeback are not locked.  So it is possible (and quite
      legal) for a page to be under readpage() while it is still under
      writeback.  For a partially uptodate page with blocksize <
      PAGE_CACHE_SIZE.
      
      When this happens, the read and write I/O completion handlers get
      confused over the shared BH_Async usage and the page ends up not
      getting PG_writeback cleared.  Truncate gets stuck in D state.
      
      The patch separates the read and write I/O completion state.
      
      It also shuffles the buffer fields around.  Putting the
      commonly-accessed b_state at offset zero shrinks the kernel by a few
      hundred bytes because it can be accessed with indirect addressing, not
      indirect+indexed.
      d58e41ee
    • Andrew Morton's avatar
      [PATCH] Fix PG_launder · 4bcb6689
      Andrew Morton authored
      Set PG_launder against pages which are under VM writeback.  So page
      allocators will throttle against them.
      4bcb6689
    • Andrew Morton's avatar
      [PATCH] handle concurrent block_write_full_page and set_page_dirty · 46c709c0
      Andrew Morton authored
      set_page_dirty() runs without the page lock.  So
      __block_write_full_page() needs to be able to cope with the page's
      buffers being dirtied concurrently, on another CPU.
      
      Do this with careful ordering and a test-and-set.
      46c709c0
    • Andrew Morton's avatar
      [PATCH] Fix SMP race in truncate · d028eab5
      Andrew Morton authored
      Closes a small race window: testing PageWriteback() outside the page
      lock introduces the possibility that page could be redirtied and have
      writeback started after we've inspected PageWriteback.
      d028eab5
    • Andrew Morton's avatar
      [PATCH] Allow ext3 pages to be written back by VM pressure · 49c7cfe7
      Andrew Morton authored
      When ext3 refiles journalled buffers for writeback, it is better to set the
      page dirty as well as the buffer.  So the page will be written out by
      VM pressure rather than by kjournald alone.
      49c7cfe7
    • Andrew Morton's avatar
      [PATCH] decouple swapper_space treatment from other address_spaces · 21bd2dfd
      Andrew Morton authored
      swapper_space is different.  Its pages are locked during writeout, it
      uses PAGE_SIZE rather than PAGE_CACHE_SIZE.  Converting swap to look
      more like the other address_spaces is a separate project.  This patch
      fully restores the old swap behaviour.
      
      - Don't dirty swapcache page buffers in set_page_dirty().
      
        Fixes a problem where __free_pte() runs set_page_dirty() and then
        immediately runs ClearPageDirty().  The pages ends up clean, with
        dirty buffers, and is unfreeable.
      
      - Hence, don't mark the page clean if its buffers are clean - swap
        does not have page/buffers dirty state coherency.
      21bd2dfd
    • Andrew Morton's avatar
      [PATCH] Allow truncate to discard unmapped buffers · 6c8dd336
      Andrew Morton authored
      The buffer state "uptodate, dirty, unmapped" is legal.  It occurs when
      a mapped page with attached buffers which is over a hole is dirtied.
      
      So discard_buffer() needs to be able to discard those buffers as well;
      otherwise the page ends up clean, with dirty buffers and is unfreeable.
      6c8dd336
    • Andrew Morton's avatar
      [PATCH] radix-tree locking fix · 22eca178
      Andrew Morton authored
      __delete_from_swap_cache modifies the radix tree.  We need to take the
      lock for writing.
      22eca178
    • Andrew Morton's avatar
      [PATCH] suppress allocation warnings for radix-tree allocations · 038de6b6
      Andrew Morton authored
      The recently-added page allocation failure warning generates a lot of
      noise due to radix-tree node allocation failures.  Those messages are
      not interesting.
      
      But I think the warning is otherwise useful - "I got an allocation
      failure and then it crashed" is better than "it crashed".
      
      The patch suppresses the message for ratnode allocation failures.
      038de6b6
    • Martin Dalecki's avatar
      [PATCH] [PATCH 2.5.13 IDE 54 · 5e229c99
      Martin Dalecki authored
       - Finish the changes from patch 53. ide_dma_actaion_t is gone now as well as
         whole hidden code paths associated with it. I hope I didn't mess too many
         things up with this, since the sheer size of the changes make them sensitive.
         (Tested on tree different host chip sets so it shouldn't be too bad...)
      
         Just still some minor cleanup remaining to be done in this area. The tags
         lefts there are intentional.
      
         In esp. the ide_dma_on method in cy82c693 looks suspicious.
      
         Using udma_enable in ide-cd.c, ide-floppy.c and ide-tape.c is suspicious as
         well. We have just uncovered it.
      
         In the next round we will concentrate on the fixes people did send me
         last time.
      5e229c99
    • Martin Dalecki's avatar
      [PATCH] 2.5.13 IDE 53 · 3ddddcf2
      Martin Dalecki authored
       - Start splitting the functions for host chip handling in to separate entities.
         This change is quite sensitive and may cause some trouble but it's for
         certain worth it anyway, because it should for example provide a much better
         infrastructure for th handling of different architectures.
      3ddddcf2
    • Martin Dalecki's avatar
      [PATCH] 2.5.13 IDE 52 · ab08629c
      Martin Dalecki authored
      Adapted from patch Bar³omiej ¯o³nierkiewicz:
      
       - make straight8 a flag in ata_channel instead of byte
      
       - don't store tables as code in drive_is_flashcard()
         and ide_xfer_verbose()
      
       - fix init_gendisk() (due to 2.5.13 blksize_size[] change)
      
       - compress region requesting/releasing
         in channel_probe() and ide_unregister()
      
       - clean a bit ide_setup_ports()
      
      Start of DMA handling tratment.
      
       - Fix the parameters to ide_build_dmatable() to be channel and request.
         Rename it to udma_new_table(). udma will mark arch specific functions
         later.
      
       - Let ide_start_dma() take the request directly as an arguemnt. Rename it to
         ata_start_dma(). After realizing that the usage of the func argument of it
         was bogous and that nobody is using rwproc we where able to remove both of
         them.
      
       - Fix ide_destroy_dmatable() to take the channel as argument and rename it to
         udma_destroy_table(). This function should have possible architecture
         specific implementation as well at some point in time.
      
       - Split up the TCQ UDMA handling stuff in to proper functions. Jens must has
         been dreaming as he introduced them ;-).
      ab08629c
  4. 04 May, 2002 1 commit
  5. 05 May, 2002 1 commit
    • Anton Altaparmakov's avatar
      mm/memory.c: · ecf0c915
      Anton Altaparmakov authored
      - Remove always unused variable page from remap_pte_range().
      - Fix printk in do_wp_page() so it doesn't print out an uninitialized
        variable (old_page). Add KERN_ERR log level while at it.
      ecf0c915
  6. 04 May, 2002 4 commits
    • Linus Torvalds's avatar
      Merge http://linux-ntfs.bkbits.net/ntfs-tng-2.5 · d735821a
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      d735821a
    • Anton Altaparmakov's avatar
      NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes. · 70d3a085
      Anton Altaparmakov authored
      - Initialize the mftbmp address space properly now that there are more
      fields in the struct address_space. This was leading to hangs and
      oopses on umount since 2.5.12 because of changes to other parts of
      the kernel. We probably want a kernel generic init_address_space()
      function...
      - Drop BKL from ntfs_readdir() after consultation with Al Viro. The
      only caller of ->readdir() is vfs_readdir() which holds i_sem during
      the call, and i_sem is sufficient protection against changes in the
      directory inode (including ->i_size).
      - Use generic_file_llseek() for directories (as opposed to
      default_llseek()) as this downs i_sem instead of the BKL which is
      what we now need for exclusion against ->f_pos changes considering we
      no longer take the BKL in ntfs_readdir().
      70d3a085
    • Osamu Tomita's avatar
      [PATCH] IDE PIO mode Fix · 359e8441
      Osamu Tomita authored
      I found this bug in 2.5.10 first. And caused ext2 FS corruption.
      We are porting Linux to PC-9801 architecture (made by NEC Japan).
      It has PIO ONLY IDE I/F. So please check PIO mode too.
      
      It was introduced in 2.5.9 and still exists in 2.5.13, and caused
      superblock corruption for Andries.  This fixes it.
      359e8441
    • Andries E. Brouwer's avatar
      [PATCH] kd.h · fbb9c153
      Andries E. Brouwer authored
      Andrej Lajovic observes that in kd.h the definitions of K_NUMLOCK and
      K_CAPSLOCK are interchanged.  He is right (and this is the case since
      1.1.54; nobody noticed because setleds.c does not use these defines).
      So, here is the fix.  No kernel behaviour is changed.
      fbb9c153