Can i improve the performance of rbd rollback in this way?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am a newbie to ceph. Recently i need to improve the performance of
rbd rollback on xfs in my project. Through experiment i found that the
mechanism of rbd rollback is like this:

When a image is rolled back to one of its snapshot (say N), for every
object that has been allocated,
case A) if the object has no snap version since snap N, then the head
version will be copied back to the latest snap (say N+M);
case B) if the object has snap version since snap N, and it has the
latest snap version (N+M), then the oldest snap version since snap N
(say N+x, 0<=x<=M) will be copied to cover the head version;
case C) if the object has snap version since snap N, and it has no
version in the latest snap (N+M), then the head version will be copied
back to the latest snap N+M, and the oldest snap version since snap N
(say N+x, 0<=x<M) will be copied to cover the head version.

I think in case A, we need not to copied the head version back. So for
improving performance, i comment the following statement in function
ReplicatedPG::_rollback_to in osd/ReplicatedPG.cc,

......
else if (rollback_to->obs.oi.soid.snap == CEPH_NOSNAP) {
      // rolling back to the head; we just need to clone it.
      // ctx->modify = true;
}
......

Can i improve performance of rollback like this? If CAN NOT, what is the reason?

Thank you.

Xin Xu
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux