From: Christopher Hoffman Date: Wed, 19 Mar 2025 23:22:43 +0000 (+0000) Subject: client: When creating WriteEncMgr take into account client_oc X-Git-Tag: testing/wip-vshankar-testing-20260120.085915-debug^2~13^2~67 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=edb1445d8186fa72a5f9819916731569430fe38e;p=ceph-ci.git client: When creating WriteEncMgr take into account client_oc When determining if a write is buffered or not, take into account the client_oc config. This option allows non-buffered writes when caps normally used in buffered writes are present. Fixes: https://tracker.ceph.com/issues/70568 Signed-off-by: Christopher Hoffman --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 27cdf27312c..60f475b4d69 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -12545,7 +12545,7 @@ int64_t Client::_write(Fh *f, int64_t offset, uint64_t size, bufferlist bl, if (f->flags & O_DIRECT) have &= ~(CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO); - bool buffered_write = (have & (CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO)); + bool buffered_write = (cct->_conf->client_oc && (have & (CEPH_CAP_FILE_BUFFER | CEPH_CAP_FILE_LAZYIO))); ceph::ref_t enc_mgr; if (buffered_write) {