Function apply_meta can overwrite discard_granularity_bytes
based on option.
Fixes:https://tracker.ceph.com/issues/53434
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
(cherry picked from commit
86223d039b587e768d71ce1266e85dde8a46a50a)
if (sparse_read_threshold_bytes == 0) {
sparse_read_threshold_bytes = get_object_size();
}
- if (!skip_partial_discard) {
+
+ bool dirty_cache = test_features(RBD_FEATURE_DIRTY_CACHE);
+ if (!skip_partial_discard || dirty_cache) {
discard_granularity_bytes = 0;
}
shutdown_image_cache();
}
- if (m_image_ctx.discard_granularity_bytes) {
- ldout(cct, 1) << "RWL image cache is enabled and "
- << "set discard_granularity_bytes = 0." << dendl;
- m_image_ctx.discard_granularity_bytes = 0;
- }
-
// Register RWL dispatch
auto image_dispatch = new cache::WriteLogImageDispatch<I>(
&m_image_ctx, m_image_cache, m_plugin_api);