ldout(cct, 20) << "oid=" << m_oid << ", r=" << r << dendl;
m_lock.Lock();
+ m_copyup_is_zero = m_copyup_data.is_zero();
m_copyup_required = is_copyup_required();
disable_append_requests();
ldout(cct, 20) << "oid=" << m_oid << dendl;
bool copy_on_read = m_pending_requests.empty();
- bool deep_copyup = !snapc.snaps.empty() && !m_copyup_data.is_zero();
- if (m_copyup_data.is_zero()) {
+ bool deep_copyup = !snapc.snaps.empty() && !m_copyup_is_zero;
+ if (m_copyup_is_zero) {
m_copyup_data.clear();
}
return true;
}
- if (!m_copyup_data.is_zero()) {
+ if (!m_copyup_is_zero) {
return true;
}
bool m_deep_copy = false;
bool m_flatten = false;
bool m_copyup_required = true;
+ bool m_copyup_is_zero = true;
ceph::bufferlist m_copyup_data;