From b315226781b180732abb0aa4ead6322b8c7827c6 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Sat, 7 Sep 2002 03:03:26 -0700 Subject: [PATCH] [PATCH] (1/25) Unexporting helper functions wipe_partitions() and driverfs_register_partitions(..., 1) (i.e. unregistering them) pulled into del_gendisk() and removed from callers. grok_partitions() merged with register_disk(). devfs_register_partitions(), grok_partitions() and wipe_partitions() not exported anymore. --- drivers/block/cciss.c | 2 -- drivers/block/cpqarray.c | 1 - drivers/block/genhd.c | 14 ++++++++------ drivers/block/umem.c | 4 +--- drivers/message/i2o/i2o_block.c | 2 -- drivers/mtd/ftl.c | 1 - drivers/s390/block/dasd_genhd.c | 8 -------- drivers/scsi/sd.c | 3 --- fs/partitions/check.c | 10 +--------- include/linux/blkdev.h | 1 - kernel/ksyms.c | 3 --- 11 files changed, 10 insertions(+), 39 deletions(-) diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index db3d25ebfd35..df336db3a336 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -742,7 +742,6 @@ static int revalidate_allvol(kdev_t dev) for(i=0; i< NWD; i++) { struct gendisk *disk = &hba[ctlr]->gendisk[i]; if (disk->major_name) { - wipe_partitions(mk_kdev(disk->major, disk->first_minor)); del_gendisk(disk); disk->major_name = NULL; } @@ -802,7 +801,6 @@ static int deregister_disk(int ctlr, int logvol) /* invalidate the devices and deregister the disk */ if (disk->major_name) { - wipe_partitions(mk_kdev(disk->major, disk->first_minor)); del_gendisk(disk); disk->major_name = NULL; } diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index b9dfeb902e3c..aba33e13c9a6 100644 --- a/drivers/block/cpqarray.c +++ b/drivers/block/cpqarray.c @@ -1461,7 +1461,6 @@ static int revalidate_allvol(kdev_t dev) struct gendisk *disk = ida_gendisk + ctlr*NWD + i; if (!disk->major_name) continue; - wipe_partitions(mk_kdev(disk->major, disk->first_minor)); del_gendisk(disk); disk->major_name = NULL; } diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c index e17207282c98..4535038fe435 100644 --- a/drivers/block/genhd.c +++ b/drivers/block/genhd.c @@ -77,17 +77,19 @@ EXPORT_SYMBOL(add_gendisk); * with the kernel. */ void -del_gendisk(struct gendisk *gp) +del_gendisk(struct gendisk *disk) { - struct gendisk **gpp; + struct gendisk **p; + wipe_partitions(mk_kdev(disk->major, disk->first_minor)); write_lock(&gendisk_lock); - for (gpp = &gendisk_head; *gpp; gpp = &((*gpp)->next)) - if (*gpp == gp) + for (p = &gendisk_head; *p; p = &((*p)->next)) + if (*p == disk) break; - if (*gpp) - *gpp = (*gpp)->next; + if (*p) + *p = (*p)->next; write_unlock(&gendisk_lock); + devfs_register_partitions(disk, disk->first_minor, 1); } EXPORT_SYMBOL(del_gendisk); diff --git a/drivers/block/umem.c b/drivers/block/umem.c index 482aa8634984..b326b6df938b 100644 --- a/drivers/block/umem.c +++ b/drivers/block/umem.c @@ -1222,10 +1222,8 @@ void __exit mm_cleanup(void) del_battery_timer(); - for (i=0; i < num_cards ; i++) { - devfs_register_partitions(mm_gendisk + i, i<>4]; - wipe_partitions(mk_kdev(MAJOR_NR, unit)); del_gendisk(p); for(i = unit; i <= unit+15; i++) blk_queue_max_sectors(i2ob_dev[i].req_queue, 0); @@ -1616,7 +1615,6 @@ void i2ob_del_device(struct i2o_controller *c, struct i2o_device *d) * This will force errors when i2ob_get_queue() is called * by the kenrel. */ - wipe_partitions(mk_kdev(MAJOR_NR, unit)); del_gendisk(&i2o_disk[unit>>4]); i2ob_dev[unit].req_queue = NULL; for(i = unit; i <= unit+15; i++) diff --git a/drivers/mtd/ftl.c b/drivers/mtd/ftl.c index 83e5ba3c3f7f..268f8e363a90 100644 --- a/drivers/mtd/ftl.c +++ b/drivers/mtd/ftl.c @@ -1298,7 +1298,6 @@ static void ftl_notify_remove(struct mtd_info *mtd) ftl_freepart(myparts[i]); myparts[i]->state = 0; - wipe_partitions(mk_kdev(MAJOR_NR, i<<4)); del_gendisk(myparts[i]->disk); kfree(myparts[i]->disk->name); kfree(myparts[i]->disk); diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c index 5733d3f466f5..2becf7eb8567 100644 --- a/drivers/s390/block/dasd_genhd.c +++ b/drivers/s390/block/dasd_genhd.c @@ -284,14 +284,6 @@ dasd_destroy_partitions(dasd_device_t * device) if (disk == NULL) return; - wipe_partitions(device->kdev); - - /* - * This is confusing. The funcions is devfs_register_partitions - * but the 1 as third parameter makes it do an unregister... - * FIXME: there must be a better way to get rid of the devfs entries - */ - devfs_register_partitions(disk, minor(device->kdev), 1); del_gendisk(disk); } diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 09f49e427f16..8c1e5d9ef3b4 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1426,9 +1426,6 @@ static void sd_detach(Scsi_Device * sdp) sdkp->has_been_registered = 0; dev = MKDEV_SD(dsk_nr); driverfs_remove_partitions(sd_disks[dsk_nr], minor(dev)); - wipe_partitions(dev); - devfs_register_partitions (sd_disks[dsk_nr], minor(dev), 1); - /* unregister_disk() */ del_gendisk(sd_disks[dsk_nr]); } sdp->attached--; diff --git a/fs/partitions/check.c b/fs/partitions/check.c index 907cb1faf056..5c3bc6cdd864 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c @@ -414,18 +414,10 @@ void devfs_register_partitions (struct gendisk *dev, int minor, int unregister) * done */ -void register_disk(struct gendisk *gdev, kdev_t dev, unsigned minors, +void register_disk(struct gendisk *g, kdev_t dev, unsigned minors, struct block_device_operations *ops, long size) -{ - if (!gdev) - return; - grok_partitions(dev, size); -} - -void grok_partitions(kdev_t dev, long size) { struct block_device *bdev; - struct gendisk *g = get_gendisk(dev); struct hd_struct *p; if (!g) diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 9f1ac6d07fe8..e0fd1bbd5520 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -281,7 +281,6 @@ struct sec_size { extern struct sec_size * blk_sec[MAX_BLKDEV]; extern struct blk_dev_struct blk_dev[MAX_BLKDEV]; -extern void grok_partitions(kdev_t dev, long size); extern int wipe_partitions(kdev_t dev); extern void register_disk(struct gendisk *dev, kdev_t first, unsigned minors, struct block_device_operations *ops, long size); extern void check_partition(struct gendisk *disk, struct block_device *bdev); diff --git a/kernel/ksyms.c b/kernel/ksyms.c index ad618a550f86..df1b2e47e919 100644 --- a/kernel/ksyms.c +++ b/kernel/ksyms.c @@ -335,17 +335,14 @@ EXPORT_SYMBOL(blk_dev); EXPORT_SYMBOL(bdev_read_only); EXPORT_SYMBOL(set_device_ro); EXPORT_SYMBOL(bmap); -EXPORT_SYMBOL(devfs_register_partitions); EXPORT_SYMBOL(driverfs_remove_partitions); EXPORT_SYMBOL(blkdev_open); EXPORT_SYMBOL(blkdev_get); EXPORT_SYMBOL(blkdev_put); EXPORT_SYMBOL(ioctl_by_bdev); -EXPORT_SYMBOL(grok_partitions); EXPORT_SYMBOL(register_disk); EXPORT_SYMBOL(read_dev_sector); EXPORT_SYMBOL(init_buffer); -EXPORT_SYMBOL(wipe_partitions); EXPORT_SYMBOL_GPL(generic_file_direct_IO); /* tty routines */ -- 2.39.5