On Tue, 2019-04-02 at 21:14 +-0800, Weiping Zhang wrote: +AD4 +AFs ... +AF0 +AD4 -static struct attribute +ACo-default+AF8-attrs+AFsAXQ +AD0 +AHs +AD4 +-static struct attribute +ACo-queue+AF8-attrs+AFsAXQ +AD0 +AHs +AD4 +ACY-queue+AF8-requests+AF8-entry.attr, +AD4 +ACY-queue+AF8-ra+AF8-entry.attr, +AD4 +ACY-queue+AF8-max+AF8-hw+AF8-sectors+AF8-entry.attr, +AD4 +AEAAQA -770,6 +-770,25 +AEAAQA static struct attribute +ACo-default+AF8-attrs+AFsAXQ +AD0 +AHs +AD4 NULL, +AD4 +AH0AOw +AD4 +AD4 +AFs ... +AF0 +AD4 +AD4 static ssize+AF8-t +AD4 +AEAAQA -890,7 +-909,6 +AEAAQA static const struct sysfs+AF8-ops queue+AF8-sysfs+AF8-ops +AD0 +AHs +AD4 +AD4 struct kobj+AF8-type blk+AF8-queue+AF8-ktype +AD0 +AHs +AD4 .sysfs+AF8-ops +AD0 +ACY-queue+AF8-sysfs+AF8-ops, +AD4 - .default+AF8-attrs +AD0 default+AF8-attrs, +AD4 .release +AD0 blk+AF8-release+AF8-queue, +AD4 +AH0AOw +AD4 +AD4 +AEAAQA -939,6 +-957,14 +AEAAQA int blk+AF8-register+AF8-queue(struct gendisk +ACo-disk) +AD4 goto unlock+ADs +AD4 +AH0 +AD4 +AD4 +- ret +AD0 sysfs+AF8-create+AF8-group(+ACY-q-+AD4-kobj, +ACY-queue+AF8-attr+AF8-group)+ADs +AD4 +- if (ret) +AHs +AD4 +- blk+AF8-trace+AF8-remove+AF8-sysfs(dev)+ADs +AD4 +- kobject+AF8-del(+ACY-q-+AD4-kobj)+ADs +AD4 +- kobject+AF8-put(+ACY-dev-+AD4-kobj)+ADs +AD4 +- goto unlock+ADs +AD4 +- +AH0 +AD4 +- +AD4 if (queue+AF8-is+AF8-mq(q)) +AHs +AD4 +AF8AXw-blk+AF8-mq+AF8-register+AF8-dev(dev, q)+ADs +AD4 blk+AF8-mq+AF8-debugfs+AF8-register(q)+ADs This kind of change introduces an unacceptable race against udev. I think we should wait with making this change until the patch series +ACI-kobject: Add default group support to kobj+AF8-type and replace subsystem uses+ACI is upstream. Bart.