Hi Igor, I took another look at https://github.com/ceph/ceph/pull/10556 You define three settings: compress_hint - determines if pool contains compressible / incompressible data compress_algorithm - permits to specify different compression algorithm compress_ratio - specifies maximum compression ratio I think we should extend this to include csum-related options. And use a consistent naming scheme that aligns with the config options where we just strip off the bluestore_ prefix. The relevant options are: bluestore_csum = {true, false} bluestore_csum_type = {crc32c, crc32c_{8,16}, ...} bluestore_csum_min_chunk_size = 4k (*) bluestore_csum_max_chunk_size = 64k (*) bluestore_compression = {force, aggressive, passive, none} bluestore_compression_algorithm = {snappy, zlib, ...} bluestore_compression_min_blob_size = 256k bluestore_compression_max_blob_size = 4M bluestore_compression_required_ratio = .875 (*) These currently have a different name but aren't used yet. Working on a PR to change that. What's missing is your 'compress_hint'. We can call that 'compression_hint' to align with the names above? compression_hint = {compressible, incompressible, ...} The main changes from your PR that I think we need to make are: * These options should be part of the pool_opts_t structure in pg_pool_t (which is a set of optional key/value-like parameters for the pool). * We can add a new ObjectStore operation that passes down parameters for a collection, and have the OSD pass these all in for each PG collection when the pool properties change. That way ObjectStore doesn't need to persist these options at all--just store the ones it understands in memory, and the OSD will always reset them on startup etc. What do you think? sage -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html