See http://www.infradead.org/rpr.html For NVMe over Fabrics we need the whole completion queue available through the request interface in some cases, and Matias mentioned could use this for LighNVM as well. The attached patch uses req->special to allow passing a whole CQE around that the low level driver can fill out.