1. 25 Aug, 2002 13 commits
  2. 23 Aug, 2002 27 commits
    • David S. Miller's avatar
      SPARC64: Ultra-III+ bug fix and better bad trap logging. · 482cf40c
      David S. Miller authored
      - Do not use PC-relative branch/call in Ultra-III+ parity error
      trap vectors, we patch this into the trap table and then the PC-relative
      values are wrong.
      - When we take an irrecoverable trap at tl > 0, save away the full
      trap stack to the kernel stack, then log it from the C code handler.
      482cf40c
    • David S. Miller's avatar
      [SPARC32]: Synchronize with 2.5.x changes · 8b1cec3e
      David S. Miller authored
      - Some places need to include sched.h because the already include ptrace.h
      - CLONE_{SET,CLEAR}TID support
      - Clear PT_DTRACE when execve succeeds.
      - Add security bits to ptrace
      - Add sys_security to syscall tables.
      8b1cec3e
    • David S. Miller's avatar
      [SPARC64]: Synchronize with 2.5.x changes · 76ba4756
      David S. Miller authored
      - Some places need to include sched.h because the already include ptrace.h
      - CLONE_{SET,CLEAR}TID support
      - Clear PT_DTRACE when execve succeeds.
      - Add security bits to ptrace and sys32_execve
      - Add sys_security to syscall tables.
      76ba4756
    • David S. Miller's avatar
      [CLONE_*TID]: Make tsk->user_tid and int so that 64-bit arches work. · 9de5fc35
      David S. Miller authored
      - futex uses int as its atomic word type, we pass in user_tid
      to the futex routines, so the types must match
      9de5fc35
    • David S. Miller's avatar
      SPARC64: Bug fixes in arch/sparc64/mm/ultra.S · 043fbe58
      David S. Miller authored
      - flush_dcpage_cheetah sized wrongly, it is 11 not 9 insns now
      - xcall_report_regs and xcall_promstop should use etrap_irq not etrap
      043fbe58
    • David S. Miller's avatar
      Merge nuts.ninka.net:/home/davem/src/BK/BAK-sparc-2.5 · 89d1b877
      David S. Miller authored
      into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
      89d1b877
    • David S. Miller's avatar
    • Kai Germaschewski's avatar
      Merge tp1.ruhr-uni-bochum.de:/scratch/kai/kernel/v2.5/linux-2.5.make · be5178be
      Kai Germaschewski authored
      into tp1.ruhr-uni-bochum.de:/home/kai/linux-2.5.make
      be5178be
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: tweak nfsd_readdir() for NFSv4 · 10715329
      Kendrick M. Smith authored
      This patch makes three small changes to nfsd_readdir().
      
      First, the 'filldir' routine for NFSv4 may return an arbitrary error,
      which should become the return value for nfsd_readdir().  I implemented
      this by adding an 'nfserr' field to the 'struct readdir_cd'.
      
      Second, in NFSv4 the caller of nfsd_readdir() will specify an attribute
      bitmap, which must be communicated to the 'filldir' routine.  I implemented
      this by adding a @bitmap parameter to nfsd_readdir() and a corresponding
      field in the 'struct readdir_cd'.  (The bitmap is not interpreted in any
      way by nfsd_readdir().)
      
      Finally, NFSv4 defines a new error nfserr_readdir_nospc, which indicates
      that there was not enough buffer space to encode a single entry.
      10715329
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: new argument to nfsd_access() · c9f192bd
      Kendrick M. Smith authored
      NFSv4 defines a new field in the ACCESS response: a bitmap to indicate
      which access bits requested by the client are "supported", i.e. meaningful
      for the object in question.
      
      This patch adds a new parameter @supported to nfsd_access(), so that
      nfsd_access() can set the value of this bitmap.
      c9f192bd
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: tweak nfsd_create_v3() for NFSv4 · b05942a3
      Kendrick M. Smith authored
      File creation in NFSv4 is almost the same as in NFSv3, with one minor
      difference.  If an UNCHECKED create is done, and the file exists, we
      don't set any attributes.  Exception: If size==0 is specified as part
      of the attributes, then we do truncate the file, but only after processing
      the rest of the OPEN.  (File creation is always part of an OPEN request.)
      
      This patch defines a new argument *truncp to nfsd_create_v3(), which
      will be NULL for v3 requests.  For v4 requests, it will point to a
      variable which should be set to 1 if file truncation is still needed.
      
      The logic in nfsd_create_v3() is changed as follows: If
        - *truncp is not NULL
        - the create is UNCHECKED
        - the file exists
      then nfsd_create_v3() returns immediately.  If size==0 is specified,
      then *truncp is set to 1.
      
      This is kind of a hack, but the only alternative I could see was creating
      a new routine nfsd_create_v4(), which would be identical to nfsd_create_v3()
      except for this point.
      b05942a3
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: allow type==0 in nfsd_unlink() · e31ff0d1
      Kendrick M. Smith authored
      If nfsd_unlink() is called with @type equal to 0, then let it do the
      right thing regardless of the type of the file being unlinked.  This
      is needed for the NFSv4 REMOVE operation, which works for any type of
      file, even directories.
      e31ff0d1
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: overflow check in nfsd_commit() · 15a094e2
      Kendrick M. Smith authored
      Sanity check COMMIT arguments by ensuring that (start)+(length) < 2^64.
      The check is done in a way which is free of signedness pathologies in
      all cases.
      
      This change was inspired by pynfs, Peter Astrand's regression testsuite
      for NFSv4 servers.  The change is necessary for all of the COMMIT tests
      to pass.  However, it's a little open to debate whether the change is
      really needed.  I'm curious to hear the opinions of other developers.
      15a094e2
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: allow resfh==fhp in fh_compose() · 7aefa9c7
      Kendrick M. Smith authored
      Change fh_compose() so that it will do the right thing if fhp==res_fh.
      (This is convenient in the NFSv4 LOOKUP operation, which _replaces_
      CURRENT_FH with the filehandle obtained by lookup.)
      
      This requires extracting the interesting parts of the reference
      filehandle first, then calling fh_put if it is a re-use.
      7aefa9c7
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: wipe out all evidence in fh_put() · e7e42b20
      Kendrick M. Smith authored
      When a filehandle is cleared with fh_put(), wipe out all traces by
      clearing ->fh_pre_saved and ->fh_post_saved.  This prevents
      fill_post_wcc() from complaining if the filehandle is later reused.
      (This could happen in NFSv4 to CURRENT_FH if, for example, LOOKUP LOOKUP
      occurs in a COMPOUND.)
      e7e42b20
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: return err_nofilehandle if missing fh in fh_verify() · d8a6f98f
      Kendrick M. Smith authored
      Return nfserr_nofilehandle (v4 only) in fh_verify() if the filehandle
      has not been set.
      d8a6f98f
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: change ->rq_vers==3 to ->rq_vers>2 · 82afc1e9
      Kendrick M. Smith authored
      In a few places on the server, I had to change code that looked like:
      
         if (rqstp->rq_vers == 3)
             /* NFSv3 behavior */
         else
             /* NFSv2 behavior */
      
      to:
      
         if (rqstp->rq_vers > 2)
             /* NFSv3 behavior */
         else
             /* NFSv2 behavior */
      
      so that we would get the NFSv3 behavior, not the NFSv2 behavior,
      in NFSv4.  This patch collects all changes of this type.
      82afc1e9
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: fix type checking in fh_verify() · dc42d957
      Kendrick M. Smith authored
      Change the type checking in fh_verify().  This fixes a bug which
      I reported on the mailing list a few days ago, and also adds a
      new error code nfserr_symlink (v4 only).  This is returned whenever
      an operation which is illegal for symlinks is attempted on a symlink,
      and takes precedence over ERR_NOTDIR or ERR_INVAL.
      dc42d957
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: NFSv4: error codes in include/linux/nfsd/nfsd.h · 6fc2f6e7
      Kendrick M. Smith authored
      Add some new NFSv4-only error codes to include/linux/nfsd/nfsd.h
      6fc2f6e7
    • Kendrick M. Smith's avatar
      [PATCH] kNFSd: new error codes for NFSv4 · fc1aac14
      Kendrick M. Smith authored
      This patch adds new NFSv4-only error codes to include/linux/nfs.h,
      and also indicates which of the old error codes still exist in NFSv4.
      fc1aac14
    • Neil Brown's avatar
      [PATCH] md: Fix up oops-able error message · 51f5eb10
      Neil Brown authored
      If we get here, then bio->bi_bdev isn't set, so we really
      shouldn't de-reference it.
      51f5eb10
    • Neil Brown's avatar
      8c33f844
    • Neil Brown's avatar
      [PATCH] md: Make the old-ioctl warning in md only complain about MD ioctls. · 4d5ffe99
      Neil Brown authored
      ..as some standard ioctls expect the per-device ioctl routine
      to return EINVAL and then fall back on a standard implementation.
      4d5ffe99
    • Neil Brown's avatar
      [PATCH] md: Remove per-personality 'operational' and 'write_only' flags · 09b63e46
      Neil Brown authored
      raid1, raid5 and multipath maintain their own
      'operational' flag.  This is equivalent to
         !rdev->faulty
      and so isn't needed.
      Similarly raid1 and raid1 maintain a "write_only" flag
      that is equivalnt to
         !rdev->in_sync
      so it isn't needed either.
      
      As part of implementing this change, we introduce some extra
      flag bit in raid5 that are meaningful only inside 'handle_stripe'.
      Some of these replace the "action" array which recorded what
      actions were required (and would be performed after the stripe
      spinlock was released).  This has the advantage of reducing our
      dependance on MD_SB_DISKS which personalities shouldn't need
      to know about.
      09b63e46
    • Neil Brown's avatar
      [PATCH] md: Remove 'alias_device' flag. · 0ce3712f
      Neil Brown authored
      This flag was used by multipath to make sure only
      one superblock was written, as there is only one
      real device.
      
      The relevant test is now more explicitly dependant on multipath,
      and the flag is gone.
      0ce3712f
    • Neil Brown's avatar
      [PATCH] md: Improve code for deciding whether to skip an IO in raid5 · 4bb04406
      Neil Brown authored
      Instread of the 'skip' variable, just test if rdev is NULL or not.
      4bb04406
    • Neil Brown's avatar
      [PATCH] md: Make spare handling simple ... personalities know less · acd8a264
      Neil Brown authored
      1/ Personalities only know about raid_disks devices.
         Some might be not in_sync and so cannot be read from,
         but must be written to.
      	- change MD_SB_DISKS to ->raid_disks
      	- add tests for .write_only
      
      2/ rdev->raid_disk is now -1 for spares.  desc_nr is maintained
         by analyse_sbs and sync_sbs.
      
      3/ spare_inactive method is subsumed into hot_remove_disk
         spare_writable is subsumed into hot_add_disk.
         hot_add_disk decides which slot a new device will hold.
      
      4/ spare_active now finds all non-in_sync devices and marks them
         in_sync.
      
      5/ faulty devices are removed by the md recovery thread as soon
         as they are idle.  Any spares that are available are then added.
      acd8a264