On 2018-10-04 4:20 p.m., Sagi Grimberg wrote: >> +static inline struct device *nvmet_ns_dev(struct nvmet_ns *ns) >> +{ >> + return disk_to_dev(ns->bdev->bd_disk); >> +} > > This needs to handle non bdev namespaces. As it's coded now the helper never gets called unless ns->bdev is not null. But in general, yes you are right, we should probably return NULL if ns->bdev is NULL. > And this? > -- > diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c > index ef286b72d958..3d12f5f4568d 100644 > --- a/drivers/nvme/target/fc.c > +++ b/drivers/nvme/target/fc.c > @@ -2280,6 +2280,7 @@ nvmet_fc_handle_fcp_rqst(struct nvmet_fc_tgtport > *tgtport, > fod->req.cmd = &fod->cmdiubuf.sqe; > fod->req.rsp = &fod->rspiubuf.cqe; > fod->req.port = tgtport->pe->port; > + fod->req.p2p_client = tgtport->dev; > > /* clear any response payload */ > memset(&fod->rspiubuf, 0, sizeof(fod->rspiubuf)); > -- Sure, I guess that makes sense. I've never tried it with fc hardware but I assume there's no reason it wouldn't work. I'll queue these changes up for a v10. Logan