1. 15 Dec, 2002 20 commits
  2. 14 Dec, 2002 20 commits
    • Kai Mäkisara's avatar
      [PATCH] SCSI tape driver fixes for 2.5.51 · 226e3bda
      Kai Mäkisara authored
      This contains the following changes for the SCSI tape driver in 2.5.51:
      - fix module bugs that prevent finding any devices
      - allow opening a device with O_NONBLOCK | O_RDWR even if the tape in drive
        is write protected
      226e3bda
    • Andrew Morton's avatar
      [PATCH] remove vm_area_struct.vm_raend · 55478b6c
      Andrew Morton authored
      Remove the unused vm_area_struct.vm_raend.
      
      If someone wants to tune per-VMA readaround then they can alter
      vma->vm_file->f_ra.ra_pages.
      55478b6c
    • Andrew Morton's avatar
      [PATCH] ext3: fix error-path bh leak · 5e352342
      Andrew Morton authored
      It is missing a brelse() on an error path.
      5e352342
    • Andrew Morton's avatar
      [PATCH] Add prefetching to get_page_state() · 351419e2
      Andrew Morton authored
      Fetch the next cacheline as we're counting up the fields in this one.
      351419e2
    • Andrew Morton's avatar
      [PATCH] ext2 synchronous mount fix · 7cc9ee3d
      Andrew Morton authored
      The optimisation for synchronous mounts was only correct for S_ISREG
      files.  Directories do not pass through generic_osync_inode() and we
      still need to synchronously write out their indirect blocks.
      7cc9ee3d
    • Andrew Morton's avatar
      [PATCH] pad pte_chains out to a cacheline · c566bb56
      Andrew Morton authored
      In PAE mode there is a 4-byte gap and they're not aligning correctly.
      c566bb56
    • Andrew Morton's avatar
      [PATCH] Fix off-by-one in the page allocator · 90b3b976
      Andrew Morton authored
      From Hugh.
      
      Be consistent in deciding when we are below the zone allocation
      thresholds.
      90b3b976
    • Andrew Morton's avatar
      [PATCH] tidier atomic check in mempool_alloc() · 36aed1f9
      Andrew Morton authored
      From Hugh.
      
      Be more explicit in the "can we sleep" test.  It doesn't change
      anything unless someone is performing __GFP_IO && !__GFP_WAIT
      allocations, which is nonsensical.
      36aed1f9
    • Andrew Morton's avatar
      [PATCH] provide a default super_block_operations · b88f83d5
      Andrew Morton authored
      A little cleanup suggested by Chris Mason or Al Viro.
      
      Quite a number of codepaths are testing whether a superblock has a
      non-null ->s_op pointer.  We can remove all those by making sure that
      all superblocks have a valid ->s_op.
      b88f83d5
    • Andrew Morton's avatar
      [PATCH] madvise_willneed() maximum readahead checking · 654107b9
      Andrew Morton authored
      madvise_willneed() currently has a very strange check on how much readahead
      it is prepared to do.
      
        It is based on the user's rss limit.  But this is usually enormous, and
        the user isn't necessarily going to map all that memory at the same time
        anyway.
      
        And the logic is wrong - it is comparing rss (which is in bytes) with
        `end - start', which is in pages.
      
        And it returns -EIO on error, which is not mentioned in the Open Group
        spec and doesn't make sense.
      
      
      This patch takes it all out and applies the same upper limit as is used in
      sys_readahead() - half the inactive list.
      654107b9
    • Andrew Morton's avatar
      [PATCH] remove a vm debug check · d8259d09
      Andrew Morton authored
      This ad-hoc assertion is no longer true.  If all zones are in the `all
      unreclaimable' state it can trigger.  When testing with a tiny amount
      of physical memory.
      d8259d09
    • Andrew Morton's avatar
      [PATCH] limit pinned memory due to readahead · 234931ab
      Andrew Morton authored
      readahead allocates all the pages before starting I/O.  Potentially bad
      if someone is performing huge reads with madvise or sys_readahead().
      
      So the patch just busts that up into two-megabyte units.
      234931ab
    • Andrew Morton's avatar
      [PATCH] don't apply file size rlimits to blockdevs · 67de87c5
      Andrew Morton authored
      generic_file_write()'s rlimit checks are preventing writes to large
      offsets into blockdevs:
      
      # ulimit -f 10000
      # dd if=/dev/zero of=/dev/sde5 bs=1k count=1 seek=1000000
      zsh: file size limit exceeded
      
      So don't apply that check if it's a blockdev.
      
      The patch also caches the S_ISBLK result in a local.
      67de87c5
    • Andrew Morton's avatar
      [PATCH] ext2/ext3_free_blocks() extra check · db0d232c
      Andrew Morton authored
      From Andreas Dilger.
      
      Additional sanity checks in the ext2 and ext3 block allocators: if
      someone tries to free a negative number of blocks, detect and handle
      that rather than wrecking the fs.
      db0d232c
    • Andrew Morton's avatar
      [PATCH] bootmem allocator merging fix · 344391c7
      Andrew Morton authored
      Patch from "Juan M. de la Torre" <jmtorre@gmx.net>
      
      If the requested align is PAGE_SIZE, it is impossible to merge with the
      previous allocation request, because the allocated area must begin in a
      page boundary.
      344391c7
    • Andrew Morton's avatar
      [PATCH] Don't inherit mm->def_flags across forks · 4d840923
      Andrew Morton authored
      Prevents children from inheriting mlockall(MCL_FUTURE).
      Standards-friendly, and 2.4 has it.
      4d840923
    • Andrew Morton's avatar
      [PATCH] remove PF_SYNC · 577c516f
      Andrew Morton authored
      current->flags:PF_SYNC was a hack I added because I didn't want to
      change all ->writepage implementations.
      
      It's foul.  And it means that if someone happens to run direct page
      reclaim within the context of (say) sys_sync, the writepage invokations
      from the VM will be treated as "data integrity" operations, not "memory
      cleansing" operations, which would cause latency.
      
      So the patch removes PF_SYNC and adds an extra arg to a_ops->writepage.
       It is the `writeback_control' structure which contains the full context
      information about why writepage was called.
      
      The initial version of this patch just passed in a bare `int sync', but
      the XFS team need more info so they can perform writearound from within
      page reclaim.
      
      The patch also adds writeback_control.for_reclaim, so writepage
      implementations can inspect that to work out the call context rather
      than peeking at current->flags:PF_MEMALLOC.
      577c516f
    • Andrew Morton's avatar
      [PATCH] Reserve an additional transaction block in · 8725c3fc
      Andrew Morton authored
      Under rare conditions (filesystem corruption, really) it is possible
      for ext3_dirty_inode() to require _two_ blocks for the transaction: one
      for the inode and one to update the superblock - to set
      EXT3_FEATURE_RO_COMPAT_LARGE_FILE.  This causes the filesystem to go
      BUG.
      
      So reserve an additional block for that eventuality.
      8725c3fc
    • Andrew Morton's avatar
      [PATCH] Set a minimum hash table size for wait_on_page() · e4406863
      Andrew Morton authored
      Fixes the problem identified by Miles Bader on extremely small zones:
      calling hash_long with `bits = 0' is treated as `bits = 32'.
      
      So don't permit the zone to have a one-slot waitqueue hashtable.
      e4406863
    • Andrew Morton's avatar
      [PATCH] Add /proc/sys/vm/lower_zone_protection · c1859213
      Andrew Morton authored
      This allows us to control the aggressiveness of the lower-zone defense
      algorithm.  The `incremental min'.  For workloads which are using a
      serious amount of mlocked memory, a few megabytes is not enough.
      
      So the `lower_zone_protection' tunable allows the administrator to
      increase the amount of protection which lower zones receive against
      allocations which _could_ use higher zones.
      
      The default value of lower_zone_protection is zero, giving unchanged
      behaviour.  We should not normally make large amounts of memory
      unavailable for pagecache just in case someone mlocks many hundreds of
      megabytes.
      c1859213