On Mon, Jul 27, 2015 at 11:38 AM, James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote: > No, that seems to be the intent of the prior code. The reason port > visibility goes immediately (along with all associated phys), is that > the port is ready for reuse as soon as sas_deform_port() returns. > Destroying the subtree is left to DISCE_DESTRUCT, but since the subtree > is not visible, a new port can form even as the elements associated with > the old port are being destroyed. the DISCE_DISCOVER that populates it > will queue behind the destruct, so everything just works today (modulo > the new warning). > > It would be ideal if we could detect in the destruct queue that the > visibility is already gone and make use of it, but we can't. The patch > that causes this warning induces a mismatch between the state of the > kernfs tree and the kobjects ... we still have to call device_del which > leads to kobject_del (which triggers the warning) to bring this state > back into alignment. So the disconnected subtree we originally used to > make all this work is what's suddenly been rendered invalid. > Looking at the original report this seemed new for the 3.16 kernel. However, looking closer, that warning in sysfs_remove_group() has been present for a long time before that. I don't recall seeing it back when we were doing focused hotplug testing with the isci driver for the 3.5 / 3.6 kernels, so I believe it is newly uncovered since then. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html