1. 06 May, 2008 5 commits
    • Al Viro's avatar
      [PATCH] fix SMP ordering hole in fcntl_setlk() · 0b2bac2f
      Al Viro authored
      fcntl_setlk()/close() race prevention has a subtle hole - we need to
      make sure that if we *do* have an fcntl/close race on SMP box, the
      access to descriptor table and inode->i_flock won't get reordered.
      
      As it is, we get STORE inode->i_flock, LOAD descriptor table entry vs.
      STORE descriptor table entry, LOAD inode->i_flock with not a single
      lock in common on both sides.  We do have BKL around the first STORE,
      but check in locks_remove_posix() is outside of BKL and for a good
      reason - we don't want BKL on common path of close(2).
      
      Solution is to hold ->file_lock around fcheck() in there; that orders
      us wrt removal from descriptor table that preceded locks_remove_posix()
      on close path and we either come first (in which case eviction will be
      handled by the close side) or we'll see the effect of close and do
      eviction ourselves.  Note that even though it's read-only access,
      we do need ->file_lock here - rcu_read_lock() won't be enough to
      order the things.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0b2bac2f
    • Christoph Hellwig's avatar
      [PATCH] kill ->put_inode · 33dcdac2
      Christoph Hellwig authored
      And with that last patch to affs killing the last put_inode instance we
      can finally, after many years of transition kill this racy and awkward
      interface.
      
      (It's kinda funny that even the description in
      Documentation/filesystems/vfs.txt was entirely wrong..)
      
      Also remove a very misleading comment above the defintion of
      struct super_operations.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      33dcdac2
    • Roman Zippel's avatar
      [PATCH] fix reservation discarding in affs · dca3c336
      Roman Zippel authored
      - remove affs_put_inode, so preallocations aren't discared unnecessarily
        often.
      - remove affs_drop_inode, it's called with a spinlock held, so it can't
        use a mutex.
      - make i_opencnt atomic
      - avoid direct b_count manipulations
      - a few allocation failure fixes, so that these are more gracefully
        handled now.
      Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      dca3c336
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · a1530636
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        mlx4_core: Support creation of FMRs with pages smaller than 4K
        IB/ehca: Fix function return types
        RDMA/cxgb3: Bump up the MPA connection setup timeout.
        RDMA/cxgb3: Silently ignore close reply after abort.
        RDMA/cxgb3: QP flush fixes
        IB/ipoib: Fix transmit queue stalling forever
        IB/mlx4: Fix off-by-one errors in calls to mlx4_ib_free_cq_buf()
      a1530636
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · bb896afe
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes:
        sched: default to n for GROUP_SCHED and FAIR_GROUP_SCHED
        sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
        sched, x86: add HAVE_UNSTABLE_SCHED_CLOCK
        sched: fix cpu clock
        sched: fair-group: fix a Div0 error of the fair group scheduler
        sched: fix missing locking in sched_domains code
        sched: make clock sync tunable by architecture code
        sched: fix debugging
        sched: fix sched_info_switch not being called according to documentation
        sched: fix hrtick_start_fair and CPU-Hotplug
        sched: fix SCHED_FAIR wake-idle logic error
        sched: fix RT task-wakeup logic
        sched: add statics, don't return void expressions
        sched: add debug checks to idle functions
        sched: remove old sched doc
        sched: make rt_sched_class, idle_sched_class static
        sched: optimize calc_delta_mine()
        sched: fix normalized sleeper
      bb896afe
  2. 05 May, 2008 35 commits