1. 25 7月, 2011 2 次提交
  2. 26 5月, 2011 1 次提交
    • S
      ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG · bddefdee
      Sunil Mushran 提交于
      This patch adds a new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG and ups the dlm
      protocol to 1.2.
      
      o2dlm sends this new message in dlm_unregister_domain() to mark the beginning
      of the exit domain. This message is sent to all nodes in the domain.
      
      Currently o2dlm has no way of informing other nodes of its impending exit.
      This information is useful as the other nodes could disregard the exiting
      node in certain operations. For example, in resource migration. If two or
      more nodes were umounting in parallel, it would be more efficient if o2dlm
      were to choose a non-exiting node to be the new master node rather than an
      exiting one.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Reviewed-by: NMark Fasheh <mfasheh@suse.com>
      Signed-off-by: NJoel Becker <jlbec@evilplan.org>
      bddefdee
  3. 24 5月, 2011 1 次提交
  4. 23 12月, 2010 1 次提交
  5. 08 10月, 2010 1 次提交
    • S
      · 18cfdf1b
      Sunil Mushran 提交于
      ocfs2/dlm: Add message DLM_QUERY_NODEINFO
      
      Adds new dlm message DLM_QUERY_NODEINFO that sends the attributes of all
      registered nodes. This message is sent if the negotiated dlm protocol is
      1.1 or higher. If the information of the joining node does not match
      that of any existing nodes, the join domain request is rejected.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      18cfdf1b
  6. 10 10月, 2010 1 次提交
    • S
      · ea203441
      Sunil Mushran 提交于
      ocfs2/dlm: Add message DLM_QUERY_REGION
      
      Adds new dlm message DLM_QUERY_REGION that sends the names of all active
      heartbeat regions. This message is only sent in the global heartbeat
      mode. If the regions in the joining node do not fully match the ones in
      the active nodes, the join domain request is rejected.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      ea203441
  7. 24 9月, 2010 1 次提交
  8. 19 5月, 2010 1 次提交
    • W
      ocfs2:dlm: avoid dlm->ast_lock lockres->spinlock dependency break · d9ef7522
      Wengang Wang 提交于
      Currently we process a dirty lockres with the lockres->spinlock taken. While
      during the process, we may need to lock on dlm->ast_lock. This breaks the
      dependency of dlm->ast_lock(lock first) and lockres->spinlock(lock second).
      
      This patch fixes the problem.
      Since we can't release lockres->spinlock, we have to take dlm->ast_lock
      just before taking the lockres->spinlock and release it after lockres->spinlock
      is released. And use __dlm_queue_bast()/__dlm_queue_ast(), the nolock version,
      in dlm_shuffle_lists(). There are no too many locks on a lockres, so there is no
      performance harm.
      Signed-off-by: NWengang Wang <wen.gang.wang@oracle.com>
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      d9ef7522
  9. 06 5月, 2010 1 次提交
  10. 04 4月, 2009 8 次提交
  11. 06 1月, 2009 1 次提交
  12. 18 4月, 2008 5 次提交
  13. 11 3月, 2008 2 次提交
    • S
      ocfs2/dlm: Add missing dlm_lockres_put()s in migration path · 52987e2a
      Sunil Mushran 提交于
      During migration, the recovery master node may be asked to master a lockres
      it may not know about. In that case, it would not only have to create a
      lockres and add it to the hash, but also remember to to do the _put_
      corresponding to the kref_init in dlm_init_lockres(), as soon as the migration
      is completed. Yes, we don't wait for the dlm_purge_lockres() to do that
      matching put. Note the ref added for it being in the hash protects the lockres
      from being freed prematurely.
      
      This patch adds that missing put, as described above, to plug a memleak.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      52987e2a
    • J
      ocfs2: Fix endian bug in o2dlm protocol negotiation. · 0f71b7b4
      Joel Becker 提交于
      struct dlm_query_join_packet is made up of four one-byte fields.  They
      are effectively in big-endian order already.  However, little-endian
      machines swap them before putting the packet on the wire (because
      query_join's response is a status, and that status is treated as a u32
      on the wire).  Thus, a big-endian and little-endian machines will
      treat this structure differently.
      
      The solution is to have little-endian machines swap the structure when
      converting from the structure to the u32 representation.
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      0f71b7b4
  14. 07 2月, 2008 1 次提交
    • J
      ocfs2: Negotiate locking protocol versions. · d24fbcda
      Joel Becker 提交于
      Currently, when ocfs2 nodes connect via TCP, they advertise their
      compatibility level.  If the versions do not match, two nodes cannot speak
      to each other and they disconnect. As a result, this provides no forward or
      backwards compatibility.
      
      This patch implements a simple protocol negotiation at the dlm level by
      introducing a major/minor version number scheme for entities that
      communicate.  Specifically, o2dlm has a major/minor version for interaction
      with o2dlm on other nodes, and ocfs2 itself has a major/minor version for
      interacting with the filesystem on other nodes.
      
      This will allow rolling upgrades of ocfs2 clusters when changes to the
      locking or network protocols can be done in a backwards compatible manner.
      In those cases, only the minor number is changed and the negotatied protocol
      minor is returned from dlm join. In the far less likely event that a
      required protocol change makes backwards compatibility impossible, we simply
      bump the major number.
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      d24fbcda
  15. 08 2月, 2007 7 次提交
  16. 22 11月, 2006 1 次提交
  17. 25 9月, 2006 1 次提交
  18. 30 6月, 2006 1 次提交
  19. 27 6月, 2006 3 次提交