Page MenuHomeFreeBSD

geom(9): struct bio KBI fix
Needs ReviewPublic

Authored by khng on Sat, Dec 20, 7:56 PM.
Tags
None
Referenced Files
F140196930: D54327.id.diff
Sun, Dec 21, 8:31 AM
F140187459: D54327.id168476.diff
Sun, Dec 21, 6:17 AM
F140184718: D54327.id.diff
Sun, Dec 21, 5:37 AM
F140181866: D54327.id168474.diff
Sun, Dec 21, 4:42 AM
F140176406: D54327.diff
Sun, Dec 21, 3:25 AM
F140175742: D54327.id168475.diff
Sun, Dec 21, 3:16 AM
F140169714: D54327.diff
Sun, Dec 21, 2:03 AM
Subscribers

Details

Summary

The struct bio was changed after cb85c2e2e995 on the branch. To fix
this, move BIO_ERROR flag to another value, and now BIO_ERROR_COMPAT
occupies 0x1 instead. Also, introduce b_error_compat field at the place
where the old bio_error was.

This allows non-CAM(9) disk drivers and software volume manager modules
compiled against 15.0-RELEASE kernel to work on 15-STABLE kernel again.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 69417
Build 66300: arc lint + arc unit

Event Timeline

khng requested review of this revision.Sat, Dec 20, 7:56 PM
khng planned changes to this revision.Sat, Dec 20, 8:03 PM

g_io_request will empty bio_error_compat as well.

So a few words about why this is useful. Our KBI commitments on 15.x is fuzzy at best. What does this enable?

In D54327#1241511, @imp wrote:

So a few words about why this is useful. Our KBI commitments on 15.x is fuzzy at best. What does this enable?

Non-cam(9) drivers or software volume manager implementations not maintained in the FreeBSD-src tree would benefit from that. Should that goes into the commit comment as well?