1. 05 3月, 2016 1 次提交
  2. 23 1月, 2016 1 次提交
    • A
      wrappers for ->i_mutex access · 5955102c
      Al Viro 提交于
      parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested},
      inode_foo(inode) being mutex_foo(&inode->i_mutex).
      
      Please, use those for access to ->i_mutex; over the coming cycle
      ->i_mutex will become rwsem, with ->lookup() done with it held
      only shared.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      5955102c
  3. 03 11月, 2015 2 次提交
  4. 09 9月, 2015 1 次提交
  5. 31 7月, 2015 1 次提交
    • Y
      ceph: always re-send cap flushes when MDS recovers · fc927cd3
      Yan, Zheng 提交于
      commit e548e9b9 makes the kclient
      only re-send cap flush once during MDS failover. If the kclient sends
      a cap flush after MDS enters reconnect stage but before MDS recovers.
      The kclient will skip re-sending the same cap flush when MDS recovers.
      
      This causes problem for newly created inode. The MDS handles cap
      flushes before replaying unsafe requests, so it's possible that MDS
      find corresponding inode is missing when handling cap flush. The fix
      is reverting to old behaviour: always re-send when MDS recovers
      Signed-off-by: NYan, Zheng <zyan@redhat.com>
      Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      fc927cd3
  6. 25 6月, 2015 15 次提交
  7. 20 4月, 2015 3 次提交
  8. 16 4月, 2015 1 次提交
  9. 19 2月, 2015 4 次提交
  10. 18 12月, 2014 5 次提交
  11. 14 11月, 2014 1 次提交
    • Y
      ceph: fix flush tid comparision · 3231300b
      Yan, Zheng 提交于
      TID of cap flush ack is 64 bits, but ceph_inode_info::flushing_cap_tid
      is only 16 bits. 16 bits should be plenty to let the cap flush updates
      pipeline appropriately, but we need to cast in the proper direction when
      comparing these differently-sized versions. So downcast the 64-bits one
      to 16 bits.
      
      Reflects ceph.git commit a5184cf46a6e867287e24aeb731634828467cd98.
      Signed-off-by: NYan, Zheng <zyan@redhat.com>
      Reviewed-by: NIlya Dryomov <idryomov@redhat.com>
      3231300b
  12. 15 10月, 2014 2 次提交
    • F
      ceph: fix bool assignments · ab6c2c3e
      Fabian Frederick 提交于
      Fix some coccinelle warnings:
      fs/ceph/caps.c:2400:6-10: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2401:6-15: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2402:6-17: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2403:6-22: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2404:6-22: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2405:6-19: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2440:4-20: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2469:3-16: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2490:2-18: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2519:3-7: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2549:3-12: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2575:2-6: WARNING: Assignment of bool to 0/1
      fs/ceph/caps.c:2589:3-7: WARNING: Assignment of bool to 0/1
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NIlya Dryomov <idryomov@redhat.com>
      ab6c2c3e
    • Y
      ceph: move ceph_find_inode() outside the s_mutex · 6cd3bcad
      Yan, Zheng 提交于
      ceph_find_inode() may wait on freeing inode, using it inside the s_mutex
      may cause deadlock. (the freeing inode is waiting for OSD read reply, but
      dispatch thread is blocked by the s_mutex)
      Signed-off-by: NYan, Zheng <zyan@redhat.com>
      Reviewed-by: NSage Weil <sage@redhat.com>
      6cd3bcad
  13. 24 7月, 2014 1 次提交
  14. 06 6月, 2014 2 次提交
    • Y
      mds: check cap ID when handling cap export message · ca665e02
      Yan, Zheng 提交于
      handle following sequence of events:
      - mds0 exports an inode to mds1. client receives the cap import
        message from mds1. caps from mds0 are removed while handling
        the cap import message.
      - mds1 exports an inode to mds0. client receives the cap export
        message from mds1. handle_cap_export() adds placeholder caps
        for mds0
      - client receives the first cap export message (for exporting
        inode from mds0 to mds1)
      Signed-off-by: NYan, Zheng <zheng.z.yan@intel.com>
      ca665e02
    • Y
      ceph: handle cap import atomically · 2cd698be
      Yan, Zheng 提交于
      cap import messages are processed by both handle_cap_import() and
      handle_cap_grant(). These two functions are not executed in the same
      atomic context, so they can races with cap release.
      
      The fix is make handle_cap_import() not release the i_ceph_lock when
      it returns. Let handle_cap_grant() release the lock after it finishes
      its job.
      Signed-off-by: NYan, Zheng <zheng.z.yan@intel.com>
      2cd698be