Roland Dreier wrote: > > The following patch replaces the bad patch (iser_conn should not be > > released while its workqueue is active) that I sent a few days > > ago. Again, if it's possible, I'd like to have it merged into 2.6.21 > > (it is a bug fix). > > We can still merge bug fixes, but I need some understanding of what > the bug is and what the severity is. The changelog you sent is > inadequate, since it makes the change seem by like at most an > optimization or simplification, and doesn't mention what the bug is at > all: >
You're right. Here's a better description: When a connection is terminated asynchronously from the iSCSI layer's perspective, iSER needs to notify the iSCSI layer that the connection has failed. This is done using a workqueue (switched to from the iSER tasklet context). Meanwhile, the connection object (that holds the work struct) is released. If the workqueue function wasn't called yet, it will be called later with a NULL pointer that will crash the kernel. The context switch (tasklet to workqueue) is not required, and everything can be done from the iSER tasklet. This eliminates the NULL work struct bug (and simplifies the code). _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
