[sheepdog] [sheepdog/sheepdog] f9b1c0: sheep: redesign get_vdis_from() with bitmap and ob...

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Fri Apr 8 10:05:22 CEST 2016


  Branch: refs/heads/for-142
  Home:   https://github.com/sheepdog/sheepdog
  Commit: f9b1c004aed884c02f11b582db50cc9614de826d
      https://github.com/sheepdog/sheepdog/commit/f9b1c004aed884c02f11b582db50cc9614de826d
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2016-04-08 (Fri, 08 Apr 2016)

  Changed paths:
    M sheep/group.c
    M sheep/ops.c

  Log Message:
  -----------
  sheep: redesign get_vdis_from() with bitmap and object reading

Current get_vdis_from() is based on SD_OP_GET_VDI_COPIES. The opcode
isn't scalable because it requires memory area whose size is linear to
a number of VDIs stored in the cluster. It cannot work well for a
cluster which has many VDIs.

This commit fixes the problem with redesign the function with bitmap
synchronization (SD_OP_READ_VDIS and SD_OP_READ_DEL_VDIS) and ordinal
inode object reading (SD_OP_READ_OBJ).

Fixes https://github.com/sheepdog/sheepdog/issues/142

Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>


  Commit: 8fffa37aa97d94ecf68ff74a9310e9a3065ce31d
      https://github.com/sheepdog/sheepdog/commit/8fffa37aa97d94ecf68ff74a9310e9a3065ce31d
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2016-04-08 (Fri, 08 Apr 2016)

  Changed paths:
    M sheep/group.c
    M sheep/sheep.c
    M sheep/sheep_priv.h

  Log Message:
  -----------
  sheep: parallelize inode bitmap gathering process

This commit is a performance improvement of the previous commit. The
inode bitmap gathering process can be parallelized for fast
completion.

Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>


Compare: https://github.com/sheepdog/sheepdog/compare/f1cbc1c94d3d...8fffa37aa97d


More information about the sheepdog mailing list