Commit 4c46501d1659475dc6c89554af6ce7fe6ecf615c
Committed by
Jens Axboe
1 parent
b7db9956e5
block: move holder_dir from disk to part0
Move disk->holder_dir to part0->holder_dir. Kill now mostly superflous bdev_get_holder(). While at it, kill superflous kobject_get/put() around holder_dir, slave_dir and cmd_filter creation and collapse disk_sysfs_add_subdirs() into register_disk(). These serve no purpose but obfuscating the code. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Showing 4 changed files with 6 additions and 29 deletions Side-by-side Diff
block/cmd-filter.c
... | ... | @@ -211,14 +211,10 @@ |
211 | 211 | { |
212 | 212 | int ret; |
213 | 213 | struct blk_cmd_filter *filter = &disk->queue->cmd_filter; |
214 | - struct kobject *parent = kobject_get(disk->holder_dir->parent); | |
215 | 214 | |
216 | - if (!parent) | |
217 | - return -ENODEV; | |
218 | - | |
219 | - ret = kobject_init_and_add(&filter->kobj, &rcf_ktype, parent, | |
215 | + ret = kobject_init_and_add(&filter->kobj, &rcf_ktype, | |
216 | + &disk_to_dev(disk)->kobj, | |
220 | 217 | "%s", "cmd_filter"); |
221 | - | |
222 | 218 | if (ret < 0) |
223 | 219 | return ret; |
224 | 220 | |
... | ... | @@ -231,7 +227,6 @@ |
231 | 227 | struct blk_cmd_filter *filter = &disk->queue->cmd_filter; |
232 | 228 | |
233 | 229 | kobject_put(&filter->kobj); |
234 | - kobject_put(disk->holder_dir->parent); | |
235 | 230 | } |
236 | 231 | EXPORT_SYMBOL(blk_unregister_filter); |
237 | 232 | #endif |
fs/block_dev.c
... | ... | @@ -548,14 +548,6 @@ |
548 | 548 | return kobject_get(&disk_to_dev(bdev->bd_disk)->kobj); |
549 | 549 | } |
550 | 550 | |
551 | -static struct kobject *bdev_get_holder(struct block_device *bdev) | |
552 | -{ | |
553 | - if (bdev->bd_contains != bdev) | |
554 | - return kobject_get(bdev->bd_part->holder_dir); | |
555 | - else | |
556 | - return kobject_get(bdev->bd_disk->holder_dir); | |
557 | -} | |
558 | - | |
559 | 551 | static int add_symlink(struct kobject *from, struct kobject *to) |
560 | 552 | { |
561 | 553 | if (!from || !to) |
... | ... | @@ -608,7 +600,7 @@ |
608 | 600 | if (!bo->sdev) |
609 | 601 | goto fail_put_hdev; |
610 | 602 | |
611 | - bo->hdir = bdev_get_holder(bdev); | |
603 | + bo->hdir = kobject_get(bdev->bd_part->holder_dir); | |
612 | 604 | if (!bo->hdir) |
613 | 605 | goto fail_put_sdev; |
614 | 606 |
fs/partitions/check.c
... | ... | @@ -305,16 +305,6 @@ |
305 | 305 | .release = part_release, |
306 | 306 | }; |
307 | 307 | |
308 | -static inline void disk_sysfs_add_subdirs(struct gendisk *disk) | |
309 | -{ | |
310 | - struct kobject *k; | |
311 | - | |
312 | - k = kobject_get(&disk_to_dev(disk)->kobj); | |
313 | - disk->holder_dir = kobject_create_and_add("holders", k); | |
314 | - disk->slave_dir = kobject_create_and_add("slaves", k); | |
315 | - kobject_put(k); | |
316 | -} | |
317 | - | |
318 | 308 | static void delete_partition_rcu_cb(struct rcu_head *head) |
319 | 309 | { |
320 | 310 | struct hd_struct *part = container_of(head, struct hd_struct, rcu_head); |
... | ... | @@ -464,7 +454,8 @@ |
464 | 454 | return; |
465 | 455 | } |
466 | 456 | #endif |
467 | - disk_sysfs_add_subdirs(disk); | |
457 | + disk->part0.holder_dir = kobject_create_and_add("holders", &ddev->kobj); | |
458 | + disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj); | |
468 | 459 | |
469 | 460 | /* No minors to use for partitions */ |
470 | 461 | if (!disk_partitionable(disk)) |
... | ... | @@ -592,7 +583,7 @@ |
592 | 583 | disk_stat_set_all(disk, 0); |
593 | 584 | disk->stamp = 0; |
594 | 585 | |
595 | - kobject_put(disk->holder_dir); | |
586 | + kobject_put(disk->part0.holder_dir); | |
596 | 587 | kobject_put(disk->slave_dir); |
597 | 588 | disk->driverfs_dev = NULL; |
598 | 589 | #ifndef CONFIG_SYSFS_DEPRECATED |