1. 22 Apr, 2015 6 commits
    • Ilya Dryomov's avatar
      crush: straw2 bucket type with an efficient 64-bit crush_ln() · 958a2765
      Ilya Dryomov authored
      This is an improved straw bucket that correctly avoids any data movement
      between items A and B when neither A nor B's weights are changed.  Said
      differently, if we adjust the weight of item C (including adding it anew
      or removing it completely), we will only see inputs move to or from C,
      never between other items in the bucket.
      
      Notably, there is not intermediate scaling factor that needs to be
      calculated.  The mapping function is a simple function of the item weights.
      
      The below commits were squashed together into this one (mostly to avoid
      adding and then yanking a ~6000 lines worth of crush_ln_table):
      
      - crush: add a straw2 bucket type
      - crush: add crush_ln to calculate nature log efficently
      - crush: improve straw2 adjustment slightly
      - crush: change crush_ln to provide 32 more digits
      - crush: fix crush_get_bucket_item_weight and bucket destroy for straw2
      - crush/mapper: fix divide-by-0 in straw2
        (with div64_s64() for draw = ln / w and INT64_MIN -> S64_MIN - need
         to create a proper compat.h in ceph.git)
      
      Reflects ceph.git commits 242293c908e923d474910f2b8203fa3b41eb5a53,
                                32a1ead92efcd351822d22a5fc37d159c65c1338,
                                6289912418c4a3597a11778bcf29ed5415117ad9,
                                35fcb04e2945717cf5cfe150b9fa89cb3d2303a1,
                                6445d9ee7290938de1e4ee9563912a6ab6d8ee5f,
                                b5921d55d16796e12d66ad2c4add7305f9ce2353.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      958a2765
    • Ilya Dryomov's avatar
      crush: ensuring at most num-rep osds are selected · 45002267
      Ilya Dryomov authored
      Crush temporary buffers are allocated as per replica size configured
      by the user.  When there are more final osds (to be selected as per
      rule) than the replicas, buffer overlaps and it causes crash.  Now, it
      ensures that at most num-rep osds are selected even if more number of
      osds are allowed by the rule.
      
      Reflects ceph.git commits 6b4d1aa99718e3b367496326c1e64551330fabc0,
                                234b066ba04976783d15ff2abc3e81b6cc06fb10.
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      45002267
    • Ilya Dryomov's avatar
      9be6df21
    • Yan, Zheng's avatar
      ceph: fix uninline data function · ec137c10
      Yan, Zheng authored
      For CEPH_OSD_CMPXATTR_MODE_U64, OSD expects the u64 to be encoded
      as string in object's xattr.
      Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
      ec137c10
    • Yan, Zheng's avatar
      ceph: rename snapshot support · 0ea611a3
      Yan, Zheng authored
      Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
      0ea611a3
    • Yan, Zheng's avatar
      ceph: fix null pointer dereference in send_mds_reconnect() · c0bd50e2
      Yan, Zheng authored
      sb->s_root can be null when umounting
      Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
      c0bd50e2
  2. 20 Apr, 2015 20 commits
  3. 12 Apr, 2015 3 commits
  4. 11 Apr, 2015 11 commits