1. 14 Mar, 2003 19 commits
    • Jean Tourrilhes's avatar
      [PATCH] export platform_bus_type · 5b9d959a
      Jean Tourrilhes authored
      5b9d959a
    • Neil Brown's avatar
      [PATCH] kNFSd: Introduce CROSSMNT flag for knfsd · 4d4d890f
      Neil Brown authored
      Now that we have working up-calls to userspace,
      CROSSMNT makes sense.
      If CROSSMNT is set for an export, and we too a
      LOOKUP which crosses a mountpoint, we initiate an
      upcall to find out if and how that filesystem
      is exported.
      4d4d890f
    • Neil Brown's avatar
      [PATCH] kNFSd: Rename NFSEXP_CROSSMNT to NFSEXP_NOHIDE · 0d32f565
      Neil Brown authored
      becase nohide is the user-space visible name
      for the flag, and we are about to define a real
      CROSSMNT.
      0d32f565
    • Neil Brown's avatar
      [PATCH] kNFSd: Assort fixes to nfsd auth cache stuff. · 367b3113
      Neil Brown authored
      1/ call cache_fresh when replacing a cache entry (instead of only
        when updating) so that up-calls waiting on the replaced entry continue.
      
      2/ in svcauth_unix_accept, don't put the verifier until all tests have
         succeeded.
      
      3/ calculate size of request-being-deferred correctly.
      367b3113
    • Neil Brown's avatar
      [PATCH] kNFSd: Fix deadlock problem in lockd. · 789d95e6
      Neil Brown authored
      nlmsvc_lock calls nlmsvc_create_block with file->f_sema
      held.
      nlmsvc_create_block calls nlmclnt_lookup_host which might
      call nlm_gc_hosts which might, eventually, try to claim
      file->f_sema for the same file -> deadlock.
      
      nlmsvc_create_block does not need any protection under
      any lock as lockd is single-threaded and _create_block
      only plays with internal data structures.
      
      So we release the f_sema before calling in, and make sure
      it gets claimed again afterwards.
      789d95e6
    • Neil Brown's avatar
      [PATCH] kNFSd: Fix race in svcsock.c · 7cb09575
      Neil Brown authored
      From: Trond Myklebust <trond.myklebust@fys.uio.no>
      
      
      knfsd needs to disable soft interrupts when calling
      csum_partial_copy_to_xdr().
      
      At the moment there's a nasty conflict between the RPC server and
      client. The problem arises when you get to xdr_partial_copy_from_skb()
      (and the kmap_atomic()); the RPC client can end up calling the same
      function from a ->data_ready() soft interrupt, and corrupt any data
      the knfsd process may have copied.
      7cb09575
    • Neil Brown's avatar
      453a629b
    • Neil Brown's avatar
      [PATCH] md: Add new superblock format for md · 1f27c737
      Neil Brown authored
      Superblock format '1' resolves a number of issues with
      superblock format '0'.
      It is more dense and can support many more sub-devices.
      It does not contains un-needed redundancy.
      It adds a few new useful fields
      1f27c737
    • Neil Brown's avatar
      [PATCH] md: Allow md to select between superblock formats · a3a173cd
      Neil Brown authored
      The code to understand a specific superblock format is
      already highly localised in md.  This patch defines a
      user-space interface for selecting which superblock format
      to use, and obeys that selection.
      
      Md currently has a concept of 3 version numbers:
       A major version number
       A minor version number
       A patch version number
      
      There historically seems to be some confusion about whether
      these refer to a version of the superblock layout,
      or a version of the software.
      
      We will now define that:
         the "major_version" defines the superblock handler.
            '0' is the current superblock format.  All new formats
                will need new numbers.
         the "minor_version" can specify minor variations in the
            superblock, such as different location on the device
         the "patch_version" will be used to indicate new extenstions
            to the software.. patch_version=1 will mean multiple superblock
            support.
      
      A superblock version number is selected by specifing major_version
      in SET_ARRAY_INFO ioctl.
      
      This patch:
        Updates Documentation/md.txt with details of new interface.
        Generalises desc_nr handling and makes sure that an array never
        has two devices with the same desc_nr.
        makes sure mddev->major_version is always valid and is 0 by default.
        uses mddev->major_version to select superblock handlers.
        Modifies set_array_info to just record version number if raid_disks==0
        Makes sure max_disks is always set correctly.
        Determines device size when reading superblock, or a hot-add/add-new.
      a3a173cd
    • Neil Brown's avatar
      [PATCH] md: Allow components of MD raid array to have data start at offset from start of device. · b931e459
      Neil Brown authored
      Normally the data stored on a component of a RAID array is stored
      from the start of the device.  This patch allows a per-device
      data_offset so the data can start elsewhere. This will allow
      RAID arrays where the metadata is at the head of the device
      rather than the tail.
      b931e459
    • Neil Brown's avatar
      [PATCH] md: Fix bad interaction between sync checkpointing and recovery · 264b2f7c
      Neil Brown authored
      Md devices (raid1/raid5) can resync or recover.
      There are similar but importantly different.
      resync happens after an unclean shutdown
      recovery happens when a failed drive is being replaced by a hot spare.
      
      The sync-checkpoint code confused the two somewhat and this causes
      problems.
      
      This patch makes sure "recovery_cp" only relates to resync,
      not recovery.
      It also fixes a small problem with recording spares in
      the superblock.
      264b2f7c
    • Neil Brown's avatar
      [PATCH] md: Fulltime delayed 'safe_mode' for md · 9578658e
      Neil Brown authored
      From: Angus Sawyer <angus.sawyer@dsl.pipex.com>
      
      If there are no writes for 20 milliseconds, write out superblock
      to mark array as clean.  Write out superblock with
      dirty flag before allowing any further write to succeed.
      
      If an md thread gets signaled with SIGKILL, reduce the
      delay to 0.
      
      
      Also tidy up some printk's and make sure writing the
      superblock isn't noisy.
      9578658e
    • Neil Brown's avatar
      [PATCH] md: Remove md_recoveryd thread for md · 8eec7ce0
      Neil Brown authored
      The md_recoveryd thread is responsible for initiating and cleaning
      up resync threads.
      This job can be equally well done by the per-array threads
      for those arrays which might need it.
      
      So the mdrecoveryd thread is gone and the core code that
      it ran is now run by raid5d, raid1d or multipathd.
      
      We add an MD_RECOVERY_NEEDED flag so those daemon don't have
      to bother trying to lock the md array unless it is likely
      that something needs to be done.
      
      Also modify the names of all threads to have the number of
      md device.
      8eec7ce0
    • Neil Brown's avatar
      [PATCH] md: Include asm-i386/387.h in asm-i386/xor.h · 8af848bb
      Neil Brown authored
      It is needed for kernel_fpu_*
      8af848bb
    • Neil Brown's avatar
      [PATCH] md: Tidy up recovery_running flags in md · cb129263
      Neil Brown authored
      Md uses ->recovery_running and ->recovery_err to keep track of the
      status or recovery.  This is rather ad hoc and race prone.
      
      This patch changes it to ->recovery which has bit flags for various
      states.
      cb129263
    • Neil Brown's avatar
      [PATCH] md: Opencode flush_curr_signals in md.c · 07b24141
      Neil Brown authored
      It is (now) too trivial to even have an inline.
      07b24141
    • Neil Brown's avatar
      [PATCH] md: C99 initiailzers for xor.h · 7baaf5dd
      Neil Brown authored
      From: Art Haas <ahaas@airmail.net>
      
      This patch converts the file to use C99 initializers.
      7baaf5dd
    • Neil Brown's avatar
      [PATCH] md: Convert /proc/mdstat to use seq_file · d7710d00
      Neil Brown authored
      From: Angus Sawyer <angus.sawyer@dsl.pipex.com>
      
      Mainly straightforward convert of sprintf -> seq_printf.  seq_start and
      seq_next modelled on /proc/partitions.  locking/ref counting as for
      ITERATE_MDDEV.
      
      pos == 0 -> header
      pos == n -> nth mddev
      pos == 0x10000 -> tail
      d7710d00
    • Neil Brown's avatar
      [PATCH] md: Missing mddev_put in md resync code · 8cdeea1a
      Neil Brown authored
      Whenever a ITERATE_MDDEV loop is exitted abnormally
      we need to mddev_put the current mddev.  There was
      one point in md_do_sync where we didn't so use counts
      became wrong.
      8cdeea1a
  2. 13 Mar, 2003 1 commit
  3. 12 Mar, 2003 1 commit
  4. 11 Mar, 2003 19 commits