Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
This project is now read‑only. Starting Monday, February 2, please use https://ibm-ceph.atlassian.net/ for all bug tracking management.

Bug 1813974

Summary: [RFE] librbd - support for sending compressible/incompressible allocation hints to the OSD
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Jason Dillaman <jdillama>
Component: RBDAssignee: Ilya Dryomov <idryomov>
Status: CLOSED ERRATA QA Contact: Harish Munjulur <hmunjulu>
Severity: medium Docs Contact: Amrita <asakthiv>
Priority: unspecified    
Version: 5.0CC: asakthiv, ceph-eng-bugs, gfarnum, hmunjulu, idryomov, kdreyer, rmandyam, vereddy, ykaul
Target Milestone: ---Keywords: FutureFeature
Target Release: 5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ceph-16.0.0-8633.el8cp Doc Type: Enhancement
Doc Text:
.Support for sending compressible or incompressible hints in librbd-based clients Previously, there was no way to hint to the underlying OSD object store backend whether data is compressible or incompressible. With this release, `the rbd_compression_hint` configuration option can be used to hint whether data is compressible or incompressible, to the underlying OSD object store backend. This can be done per-image, per-pool or globally. See the link:{block-dev-guide}#block-device-input-output-options_block[_Block device input and output options_] section in the _{storage-product} Block Device Guide_ for more information.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-08-30 08:23:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1929679, 1959686    

Description Jason Dillaman 2020-03-16 15:40:25 UTC
librbd-based clients support a new "rbd_compression_hint" configuration option that can be set to "none" (default), "compressible", or "incompressible". This configuration option can be set globally in the cluster, per-pool, or per-image. 

Support to add this to krbd will be forthcoming in a future upstream kernel release.

Comment 1 RHEL Program Management 2020-03-16 15:40:33 UTC
Please specify the severity of this bug. Severity is defined here:
https://bugzilla.redhat.com/page.cgi?id=fields.html#bug_severity.

Comment 4 Harish Munjulur 2021-03-12 00:23:41 UTC
pool level and global level config are not set

steps:
1. [ceph: root@magna021 ~]# rbd config global get global rbd_compression_hint 
compressible
2. [ceph: root@magna021 ~]#  ceph osd pool get comp_pool compression_mode        
compression_mode: passive
3. Run librbd write

observed: 
debug 2021-03-12T00:11:32.310+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags -
debug 2021-03-12T00:11:32.310+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags - = 0


expected:(seen on image level config)
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible = 0

Comment 5 Jason Dillaman 2021-03-12 00:42:27 UTC
It looks like you left the image-level override on the image:

$ # rbd config image ls comp_pool/comp_image
There are 77 values:
Name                                         Value        Source
... snip ...
rbd_compression_hint                         none         image

Comment 6 Harish Munjulur 2021-03-12 18:34:54 UTC
Working as expected 


logs: 

debug 2021-03-12T01:08:22.288+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags incompressible
debug 2021-03-12T01:08:22.288+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags incompressible = 0

debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 15 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible
debug 2021-03-10T00:50:55.092+0000 7fcf37de6700 10 bluestore(/var/lib/ceph/osd/ceph-16) _set_alloc_hint 27.19_head #27:9aef75b5:::rbd_data.438c81590dd.0000000000000000:head# object_size 4194304 write_size 4194304 flags compressible = 0

Comment 7 Amrita 2021-05-20 12:10:28 UTC
Hi Greg,

Please set the rdt flat to ? and provide the doc text information as this needs to be included in the Release Notes 5.0.

Thanks
Amrita

Comment 11 errata-xmlrpc 2021-08-30 08:23:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat Ceph Storage 5.0 bug fix and enhancement), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:3294