Grep,
On 2017/8/2 2:06, Greg KH wrote:
On Tue, Aug 01, 2017 at 05:02:25PM +0900, Ethan Zhao wrote:There is no enough error handling in block device adding/registration path, for example, device_add_disk() blk_register_queue() When kernel returns from device_add_disk(), no return value to tell us it was successful or not --- that suggests it would always succeed, and according to this assumption, then during block device removal/ unregistration steps, sd_remove() del_gendisk() blk_unregister_queue() dpm_sysfs_remove(), blk_trace_remove_sysfs() will be called blindly, though there is likely no 'trace' 'power' sysfs groups there because actually blk_register_queue()/device_add() failed somewhere. thus causes WARN flood emitted from sysfs_remove_group() as following triggered by unloading fnic driver:Then fix the real issue here, don't paper over the issue by changing the sysfs core please. No other subsystem seems to be having this issue.
Yep, I agree it is kind of cover up block layer issue. Thanks, Ethan
thanks, greg k-h

