On 4/23/22 16:39, Ming Lei wrote:
q->debugfs_dir is used by blk-mq debugfs and blktrace. The dentry is created when adding disk, and removed when releasing request queue. There is small window between releasing disk and releasing request queue, and during the period, one disk with same name may be created and added, so debugfs_create_dir() may complain with "Directory XXXXX with parent 'block' already present!" Fixes the issue by moving debugfs_create_dir() into blk_alloc_queue(), and the dir name is named with q->id from beginning, and switched to disk name when adding disk, and finally changed to q->id in disk_release(). Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> Reported-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: yukuai (C) <yukuai3@xxxxxxxxxx> Cc: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> --- block/blk-core.c | 4 ++++ block/blk-sysfs.c | 4 ++-- block/genhd.c | 8 ++++++++ 3 files changed, 14 insertions(+), 2 deletions(-)
Errm. Isn't this superfluous now that Jens merged Yu Kuais patch? Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer