aboutsummaryrefslogtreecommitdiffstats
path: root/fs/partitions/check.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/partitions/check.c')
-rw-r--r--fs/partitions/check.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 6d5b213b8a9b..6d720243f5f4 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -334,6 +334,7 @@ void delete_partition(struct gendisk *disk, int partno)
334 334
335 blk_free_devt(part_devt(part)); 335 blk_free_devt(part_devt(part));
336 rcu_assign_pointer(ptbl->part[partno], NULL); 336 rcu_assign_pointer(ptbl->part[partno], NULL);
337 rcu_assign_pointer(ptbl->last_lookup, NULL);
337 kobject_put(part->holder_dir); 338 kobject_put(part->holder_dir);
338 device_del(part_to_dev(part)); 339 device_del(part_to_dev(part));
339 340
@@ -384,9 +385,9 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
384 385
385 dname = dev_name(ddev); 386 dname = dev_name(ddev);
386 if (isdigit(dname[strlen(dname) - 1])) 387 if (isdigit(dname[strlen(dname) - 1]))
387 snprintf(pdev->bus_id, BUS_ID_SIZE, "%sp%d", dname, partno); 388 dev_set_name(pdev, "%sp%d", dname, partno);
388 else 389 else
389 snprintf(pdev->bus_id, BUS_ID_SIZE, "%s%d", dname, partno); 390 dev_set_name(pdev, "%s%d", dname, partno);
390 391
391 device_initialize(pdev); 392 device_initialize(pdev);
392 pdev->class = &block_class; 393 pdev->class = &block_class;
@@ -447,16 +448,11 @@ void register_disk(struct gendisk *disk)
447 struct block_device *bdev; 448 struct block_device *bdev;
448 struct disk_part_iter piter; 449 struct disk_part_iter piter;
449 struct hd_struct *part; 450 struct hd_struct *part;
450 char *s;
451 int err; 451 int err;
452 452
453 ddev->parent = disk->driverfs_dev; 453 ddev->parent = disk->driverfs_dev;
454 454
455 strlcpy(ddev->bus_id, disk->disk_name, BUS_ID_SIZE); 455 dev_set_name(ddev, disk->disk_name);
456 /* ewww... some of these buggers have / in the name... */
457 s = strchr(ddev->bus_id, '/');
458 if (s)
459 *s = '!';
460 456
461 /* delay uevents, until we scanned partition table */ 457 /* delay uevents, until we scanned partition table */
462 ddev->uevent_suppress = 1; 458 ddev->uevent_suppress = 1;