> From: Neil Horman [mailto:[email protected]] > Sent: Monday, October 07, 2013 6:33 AM > To: Love, Robert W > Cc: [email protected]; [email protected]; [email protected] > Subject: Re: [Open-FCoE, RFC] libfcoe: Make fcoe_sysfs optional / fix fnic > NULL exception > > On Thu, Sep 05, 2013 at 07:47:27AM -0000, Robert Love wrote: > > fnic doesn't use any of the create/destroy/enable/disable interfaces > > either from the (legacy) module paramaters or the (new) fcoe_sysfs > > interfaces. When fcoe_sysfs was introduced fnic wasn't changed since > > it wasn't using the interfaces. libfcoe incorrectly assumed that that > > all of its users were using fcoe_sysfs and when adding and deleting > > FCFs would assume the existance of a fcoe_ctlr_device. fnic was not > > allocating this structure because it doesn't care about the standard > > user interfaces (fnic starts on link only). If/When libfcoe tried to > > use the fcoe_ctlr_device's lock for the first time a NULL pointer > > exception would be triggered. > > > > Since fnic doesn't care about sysfs or user interfaces, the solution > > is to drop libfcoe's assumption that all drivers are using fcoe_sysfs. > > > > This patch accomplishes this by changing some of the structure > > relationships. > > > > We need a way to determine when a LLD is using fcoe_sysfs or not and > > we can do that by checking for the existance of the fcoe_ctlr_device. > > Prior to this patch, it was assumed that the fcoe_ctlr structure was > > allocated with the fcoe_ctlr_device and immediately followed it in > > memory. To reach the fcoe_ctlr_device we would simply go back in > > memory from the fcoe_ctlr to get the fcoe_ctlr_device. > > > > Since fnic doesn't allocate the fcoe_ctlr_device, we cannot keep that > > assumption. This patch adds a pointer from the fcoe_ctlr to the > > fcoe_ctlr_device. For bnx2fc and fcoe we will continue to allocate the > > two structures together, but then we'll set the ctlr->cdev pointer to > > point at the fcoe_ctlr_device. fnic will not change and will continue > > to allocate the fcoe_ctlr itself, and ctlr->cdev will remain NULL. > > > > When libfcoe adds fcoe_fcf's to the fcoe_ctlr it will check if > > ctlr->cdev is set and only if so will it continue to interact with > > fcoe_sysfs. > > > > Cc: Hiral Patel <[email protected]> > > Signed-off-by: Robert Love <[email protected]> > > Acked-by: Neil Horman <[email protected]> > > > Rob- > Whats going on with this patch? I just noticed its been sitting in > patchwork > for a month, and its still in the new state. I acked it, but still don't see > it in the > fcoe tree. Are you still planning on merging it? >
I was hoping the fnic maintainers would test it, and send a Tested-by line. I can't reproduce the problem and I don't know if this is all that is needed to get fnic working again. Do you think I should move it forward on the strength of your Ack alone? If people really want it to move forward without testing, I don't necessarily have a problem with that either. Thanks, //Rob _______________________________________________ fcoe-devel mailing list [email protected] http://lists.open-fcoe.org/mailman/listinfo/fcoe-devel
