1. 01 12月, 2009 1 次提交
    • D
      dlm: always use GFP_NOFS · 573c24c4
      David Teigland 提交于
      Replace all GFP_KERNEL and ls_allocation with GFP_NOFS.
      ls_allocation would be GFP_KERNEL for userland lockspaces
      and GFP_NOFS for file system lockspaces.
      
      It was discovered that any lockspaces on the system can
      affect all others by triggering memory reclaim in the
      file system which could in turn call back into the dlm
      to acquire locks, deadlocking dlm threads that were
      shared by all lockspaces, like dlm_recv.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      573c24c4
  2. 01 10月, 2009 2 次提交
    • D
      dlm: fix socket fd translation · 6861f350
      David Teigland 提交于
      The code to set up sctp sockets was not using the sockfd_lookup()
      and sockfd_put() routines to translate an fd to a socket.  The
      direct fget and fput calls were resulting in error messages from
      alloc_fd().
      
      Also clean up two log messages and remove a third, related to
      setting up sctp associations.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      6861f350
    • D
      dlm: fix lowcomms_connect_node for sctp · 04bedd79
      David Teigland 提交于
      The recently added dlm_lowcomms_connect_node() from
      391fbdc5 does not work
      when using SCTP instead of TCP.  The sctp connection code
      has nothing to do without data to send.  Check for no data
      in the sctp connection code and do nothing instead of
      triggering a BUG.  Also have connect_node() do nothing
      when the protocol is sctp.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      04bedd79
  3. 23 9月, 2009 1 次提交
  4. 25 8月, 2009 2 次提交
  5. 19 8月, 2009 1 次提交
  6. 15 7月, 2009 1 次提交
  7. 13 7月, 2009 1 次提交
    • J
      genetlink: make netns aware · 134e6375
      Johannes Berg 提交于
      This makes generic netlink network namespace aware. No
      generic netlink families except for the controller family
      are made namespace aware, they need to be checked one by
      one and then set the family->netnsok member to true.
      
      A new function genlmsg_multicast_netns() is introduced to
      allow sending a multicast message in a given namespace,
      for example when it applies to an object that lives in
      that namespace, a new function genlmsg_multicast_allns()
      to send a message to all network namespaces (for objects
      that do not have an associated netns).
      
      The function genlmsg_multicast() is changed to multicast
      the message in just init_net, which is currently correct
      for all generic netlink families since they only work in
      init_net right now. Some will later want to work in all
      net namespaces because they do not care about the netns
      at all -- those will have to be converted to use one of
      the new functions genlmsg_multicast_allns() or
      genlmsg_multicast_netns() whenever they are made netns
      aware in some way.
      
      After this patch families can easily decide whether or
      not they should be available in all net namespaces. Many
      genl families us it for objects not related to networking
      and should therefore be available in all namespaces, but
      that will have to be done on a per family basis.
      
      Note that this doesn't touch on the checkpoint/restart
      problem where network namespaces could be used, genl
      families and multicast groups are numbered globally and
      I see no easy way of changing that, especially since it
      must be possible to multicast to all network namespaces
      for those families that do not care about netns.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      134e6375
  8. 19 6月, 2009 1 次提交
    • D
      dlm: fix plock use-after-free · c78a87d0
      David Teigland 提交于
      Fix a regression from the original addition of nfs lock support
      586759f0.  When a synchronous
      (non-nfs) plock completes, the waiting thread will wake up and
      free the op struct.  This races with the user thread in
      dev_write() which goes on to read the op's callback field to
      check if the lock is async and needs a callback.  This check
      can happen on the freed op.  The fix is to note the callback
      value before the op can be freed.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      c78a87d0
  9. 18 6月, 2009 1 次提交
  10. 16 5月, 2009 1 次提交
    • D
      dlm: use more NOFS allocation · 748285cc
      David Teigland 提交于
      Change some GFP_KERNEL allocations to use either GFP_NOFS or
      ls_allocation (when available) which the fs sets to GFP_NOFS.
      The point is to prevent allocations from going back into the
      cluster fs in places where that might lead to deadlock.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      748285cc
  11. 15 5月, 2009 1 次提交
  12. 07 5月, 2009 2 次提交
  13. 12 3月, 2009 4 次提交
  14. 29 1月, 2009 3 次提交
  15. 22 1月, 2009 2 次提交
  16. 09 1月, 2009 2 次提交
  17. 24 12月, 2008 10 次提交
  18. 26 11月, 2008 1 次提交
  19. 14 11月, 2008 1 次提交
    • D
      dlm: fix shutdown cleanup · 278afcbf
      David Teigland 提交于
      Fixes a regression from commit 0f8e0d9a,
      "dlm: allow multiple lockspace creates".
      
      An extraneous 'else' slipped into a code fragment being moved from
      release_lockspace() to dlm_release_lockspace().  The result of the
      unwanted 'else' is that dlm threads and structures are not stopped
      and cleaned up when the final dlm lockspace is removed.  Trying to
      create a new lockspace again afterward will fail with
      "kmem_cache_create: duplicate cache dlm_conn" because the cache
      was not previously destroyed.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      278afcbf
  20. 05 9月, 2008 2 次提交
    • A
      dlm: choose better identifiers · 27eccf46
      Andrew Morton 提交于
      sparc32:
      
      fs/dlm/config.c:397: error: expected identifier or '(' before '{' token
      fs/dlm/config.c: In function 'drop_node':
      fs/dlm/config.c:589: warning: initialization from incompatible pointer type
      fs/dlm/config.c:589: warning: initialization from incompatible pointer type
      fs/dlm/config.c: In function 'release_node':
      fs/dlm/config.c:601: warning: initialization from incompatible pointer type
      fs/dlm/config.c:601: warning: initialization from incompatible pointer type
      fs/dlm/config.c: In function 'show_node':
      fs/dlm/config.c:717: warning: initialization from incompatible pointer type
      fs/dlm/config.c:717: warning: initialization from incompatible pointer type
      fs/dlm/config.c: In function 'store_node':
      fs/dlm/config.c:726: warning: initialization from incompatible pointer type
      fs/dlm/config.c:726: warning: initialization from incompatible pointer type
      
      Cc: Christine Caulfield <ccaulfie@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      27eccf46
    • D
      dlm: remove bkl · f9f2ed48
      David Teigland 提交于
      BLK from recent pushdown is not needed.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      f9f2ed48