This can be used instead of M_WRITABLE where the calling code is
prepared to handle writing to M_EXTPG mbufs.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 59597 Build 56484: arc lint + arc unit
Event Timeline
Comment Actions
I'm confused.. if we are marking non-writable M_EXTPG mufs as M_RDONLY, why can't we simply remove the M_EXTPG check from M_WRITABLE? Why do we need a new macro?
Comment Actions
Because there are many places that call M_WRITABLE in the tree and if it succeeds expect to directly use mtod() to get a writable pointer to the data payload (possibly after using m_pullup which panics if called on an M_EXTPG mbuf). m_copyback() is explicitly aware of M_EXTPG mbufs and handles them correctly, so the new macro works fine the assertion there.