1. 02 2月, 2006 17 次提交
  2. 01 2月, 2006 7 次提交
  3. 24 1月, 2006 1 次提交
  4. 22 1月, 2006 5 次提交
  5. 21 1月, 2006 1 次提交
  6. 20 1月, 2006 2 次提交
  7. 19 1月, 2006 7 次提交
    • D
      [PATCH] Add pselect/ppoll system call implementation · 9f72949f
      David Woodhouse 提交于
      The following implementation of ppoll() and pselect() system calls
      depends on the architecture providing a TIF_RESTORE_SIGMASK flag in the
      thread_info.
      
      These system calls have to change the signal mask during their
      operation, and signal handlers must be invoked using the new, temporary
      signal mask. The old signal mask must be restored either upon successful
      exit from the system call, or upon returning from the invoked signal
      handler if the system call is interrupted. We can't simply restore the
      original signal mask and return to userspace, since the restored signal
      mask may actually block the signal which interrupted the system call.
      
      The TIF_RESTORE_SIGMASK flag deals with this by causing the syscall exit
      path to trap into do_signal() just as TIF_SIGPENDING does, and by
      causing do_signal() to use the saved signal mask instead of the current
      signal mask when setting up the stack frame for the signal handler -- or
      by causing do_signal() to simply restore the saved signal mask in the
      case where there is no handler to be invoked.
      
      The first patch implements the sys_pselect() and sys_ppoll() system
      calls, which are present only if TIF_RESTORE_SIGMASK is defined. That
      #ifdef should go away in time when all architectures have implemented
      it. The second patch implements TIF_RESTORE_SIGMASK for the PowerPC
      kernel (in the -mm tree), and the third patch then removes the
      arch-specific implementations of sys_rt_sigsuspend() and replaces them
      with generic versions using the same trick.
      
      The fourth and fifth patches, provided by David Howells, implement
      TIF_RESTORE_SIGMASK for FR-V and i386 respectively, and the sixth patch
      adds the syscalls to the i386 syscall table.
      
      This patch:
      
      Add the pselect() and ppoll() system calls, providing core routines usable by
      the original select() and poll() system calls and also the new calls (with
      their semantics w.r.t timeouts).
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9f72949f
    • D
      [PATCH] Generic sys_rt_sigsuspend() · 150256d8
      David Woodhouse 提交于
      The TIF_RESTORE_SIGMASK flag allows us to have a generic implementation of
      sys_rt_sigsuspend() instead of duplicating it for each architecture.  This
      provides such an implementation and makes arch/powerpc use it.
      
      It also tidies up the ppc32 sys_sigsuspend() to use TIF_RESTORE_SIGMASK.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      150256d8
    • U
      [PATCH] vfs: *at functions: core · 5590ff0d
      Ulrich Drepper 提交于
      Here is a series of patches which introduce in total 13 new system calls
      which take a file descriptor/filename pair instead of a single file
      name.  These functions, openat etc, have been discussed on numerous
      occasions.  They are needed to implement race-free filesystem traversal,
      they are necessary to implement a virtual per-thread current working
      directory (think multi-threaded backup software), etc.
      
      We have in glibc today implementations of the interfaces which use the
      /proc/self/fd magic.  But this code is rather expensive.  Here are some
      results (similar to what Jim Meyering posted before).
      
      The test creates a deep directory hierarchy on a tmpfs filesystem.  Then
      rm -fr is used to remove all directories.  Without syscall support I get
      this:
      
      real    0m31.921s
      user    0m0.688s
      sys     0m31.234s
      
      With syscall support the results are much better:
      
      real    0m20.699s
      user    0m0.536s
      sys     0m20.149s
      
      The interfaces are for obvious reasons currently not much used.  But they'll
      be used.  coreutils (and Jeff's posixutils) are already using them.
      Furthermore, code like ftw/fts in libc (maybe even glob) will also start using
      them.  I expect a patch to make follow soon.  Every program which is walking
      the filesystem tree will benefit.
      Signed-off-by: NUlrich Drepper <drepper@redhat.com>
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Al Viro <viro@ftp.linux.org.uk>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5590ff0d
    • J
      [PATCH] nfsd4: rename lk_stateowner · 3a65588a
      J. Bruce Fields 提交于
      One of the things that's confusing about nfsd4_lock is that the lk_stateowner
      field could be set to either of two different lockowners: the open owner or
      the lock owner.  Rename to lk_replay_owner and add a comment to make it clear
      that it's used for whichever stateowner has its sequence id bumped for replay
      detection.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3a65588a
    • J
      [PATCH] svcrpc: save and restore the daddr field when request deferred · 1918e341
      J. Bruce Fields 提交于
      The server code currently keeps track of the destination address on every
      request so that it can reply using the same address.  However we forget to do
      that in the case of a deferred request.  Remedy this oversight.  >From folks
      at PolyServe.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1918e341
    • Y
      [PATCH] nfsd: check error status from nfsd_sync_dir · f193fbab
      YAMAMOTO Takashi 提交于
      Change nfsd_sync_dir to return an error if ->sync fails, and pass that error
      up through the stack.  This involves a number of rearrangements of error
      paths, and care to distinguish between Linux -errno numbers and NFSERR
      numbers.
      
      In the 'create' routines, we continue with the 'setattr' even if a previous
      sync_dir failed.
      
      This patch is quite different from Takashi's in a few ways, but there is still
      a strong lineage.
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f193fbab
    • A
      [PATCH] add missing syscall declarations · 5131cf15
      Arnd Bergmann 提交于
      All standard system calls should be declared in include/linux/syscalls.h.
      
      Add some of the new additions that were previously missed.
      Signed-off-by: NArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5131cf15