Actions
Bug #19275
closedstable-writes flag gets reset underneath rbd since 4.4
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Crash signature (v1):
Crash signature (v2):
Description
rbd requires stable pages if ceph message data CRCs are enabled. To that end we set BDI_CAP_STABLE_WRITES in rbd_init_disk(), but since commit 25520d55cdb6 ("block: Inline blk_integrity in struct gendisk", went into 4.4) this bit is almost immediately cleared: add_disk register_disk blkdev_get rescan_partitions blk_integrity_revalidate void blk_integrity_revalidate(struct gendisk *disk) { struct blk_integrity *bi = &disk->queue->integrity; if (!(disk->flags & GENHD_FL_UP)) return; if (bi->profile) disk->queue->backing_dev_info.capabilities |= BDI_CAP_STABLE_WRITES; else disk->queue->backing_dev_info.capabilities &= ~BDI_CAP_STABLE_WRITES; } ceph messenger is responsible for generating/verifying CRCs, so we don't call blk_integrity_register() -- bi->profile is NULL.
More at http://www.spinics.net/lists/ceph-devel/msg35413.html.
Actions