auto effective_size = in->effective_size();
- // trim read based on file size?
- if (off >= in->effective_size())
- return 0;
- if (len == 0)
- return 0;
-
auto target_len = std::min(len, effective_size - off);
uint64_t read_start;
uint64_t read_len;
left -= r;
pbl->claim_append(tbl);
}
- auto effective_size = (fscrypt_denc ? in->effective_size() : in->size);
// short read?
if (r >= 0 && r < wanted) {
filer_iofinish.reset(new C_OnFinisher(new C_Lock_Client_Finisher(this, iofinish.get()), &objecter_finisher));
}
- get_cap_ref(in, CEPH_CAP_FILE_BUFFER);
-
auto delay = get_injected_write_delay_secs();
if (unlikely(delay > 0)) {
ldout(cct, 20) << __func__ << ": delaying write for " << delay << " seconds" << dendl;
}
ldout(cct, 10) << " _write_filer" << dendl;
- enc_mgr->read_modify_write(iofinish.get());
+ enc_mgr->read_modify_write(filer_iofinish.get());
if (onfinish) {
// handle non-blocking caller (onfinish != nullptr), we can now safely