On Tue, Aug 01, 2017 at 05:02:25PM +0900, Ethan Zhao wrote:Yep, I agree it is kind of cover up block layer issue.
There is no enough error handling in block device adding/registrationThen fix the real issue here, don't paper over the issue by changing the
path, for example,
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/
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:
sysfs core please. No other subsystem seems to be having this issue.