Re: A question about scrubber.write_blocked_by_scrub()

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

 




What release are you working on?  Have you seen the latest code in master that allows client operations to preempt scrub?


bool PG::write_blocked_by_scrub(const hobject_t& soid)
{
  if (soid < scrubber.start || soid >= scrubber.end) {
    return false;
  }
  if (scrub_can_preempt) {
    if (!scrub_preempted) {
      dout(10) << __func__ << " " << soid << " preempted" << dendl;
      scrub_preempted = true;
    } else {
      dout(10) << __func__ << " " << soid << " already preempted" << dendl;
    }
    return false;
  }
  return true;
}

David


On 10/31/18 3:12 AM, 韦皓诚 wrote:
Hi~
We have make some modifications to osd queue so that Scrub would stay
in queue when client_op is busy. But this brings a problem, some write
request would be blocked by the scrub in queue too long time. So we
want to block a write request only when the scrub out of queue. The
question is, is there any accident will happen to it?




[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