block: disable sysfs parts of the disk command filter
authorJens Axboe <jens.axboe@oracle.com>
Thu, 11 Sep 2008 12:20:23 +0000 (14:20 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 11 Sep 2008 12:20:23 +0000 (14:20 +0200)
We still have life time issues with the sysfs command filter kobject,
so disable it for 2.6.27 release. We can revisit this and make it work
properly for 2.6.28, for 2.6.27 release it's too risky.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/cmd-filter.c
drivers/ide/ide-cd.c
drivers/scsi/sd.c
drivers/scsi/sr.c
include/linux/blkdev.h

index 228b6447e89f295346bcb2d07e295f467bc10f35..79c14996ac110ab1a2cd34af04049df5963a1019 100644 (file)
@@ -49,6 +49,7 @@ int blk_verify_command(struct blk_cmd_filter *filter,
 }
 EXPORT_SYMBOL(blk_verify_command);
 
+#if 0
 /* and now, the sysfs stuff */
 static ssize_t rcf_cmds_show(struct blk_cmd_filter *filter, char *page,
                             int rw)
@@ -233,3 +234,4 @@ void blk_unregister_filter(struct gendisk *disk)
        kobject_put(disk->holder_dir->parent);
 }
 EXPORT_SYMBOL(blk_unregister_filter);
+#endif
index f1489999cf916a53f222a9c71d9e518be9f69c20..49a8c589e346c15982e158e5116c9fd930aa9b46 100644 (file)
@@ -1933,7 +1933,6 @@ static void ide_cd_remove(ide_drive_t *drive)
 
        ide_proc_unregister_driver(drive, info->driver);
 
-       blk_unregister_filter(info->disk);
        del_gendisk(info->disk);
 
        ide_cd_put(info);
@@ -2159,7 +2158,6 @@ static int ide_cd_probe(ide_drive_t *drive)
        g->fops = &idecd_ops;
        g->flags |= GENHD_FL_REMOVABLE;
        add_disk(g);
-       blk_register_filter(g);
        return 0;
 
 out_free_cd:
index 2a2bc89aba83204f331f3023424150cc1a050f99..e5e7d78564545543925fc6136c6e7c7fc994c028 100644 (file)
@@ -1875,7 +1875,6 @@ static int sd_probe(struct device *dev)
 
        dev_set_drvdata(dev, sdkp);
        add_disk(gd);
-       blk_register_filter(gd);
        sd_dif_config_host(sdkp);
 
        sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
@@ -1909,7 +1908,6 @@ static int sd_remove(struct device *dev)
        struct scsi_disk *sdkp = dev_get_drvdata(dev);
 
        device_del(&sdkp->dev);
-       blk_unregister_filter(sdkp->disk);
        del_gendisk(sdkp->disk);
        sd_shutdown(dev);
 
index 3292965bfd84272ad83450b46d7a454c588c01bb..27f5bfd1def343e205c2710a587571650026410f 100644 (file)
@@ -656,7 +656,6 @@ static int sr_probe(struct device *dev)
        dev_set_drvdata(dev, cd);
        disk->flags |= GENHD_FL_REMOVABLE;
        add_disk(disk);
-       blk_register_filter(disk);
 
        sdev_printk(KERN_DEBUG, sdev,
                    "Attached scsi CD-ROM %s\n", cd->cdi.name);
@@ -895,7 +894,6 @@ static int sr_remove(struct device *dev)
 {
        struct scsi_cd *cd = dev_get_drvdata(dev);
 
-       blk_unregister_filter(cd->disk);
        del_gendisk(cd->disk);
 
        mutex_lock(&sr_ref_mutex);
index 44710d7e7bff888c302038fb5c00a64e5d31367b..53ea933cf60bde455e4abc0687e06da638641b8a 100644 (file)
@@ -843,8 +843,6 @@ extern int blkdev_issue_flush(struct block_device *, sector_t *);
 */
 extern int blk_verify_command(struct blk_cmd_filter *filter,
                              unsigned char *cmd, int has_write_perm);
-extern int blk_register_filter(struct gendisk *disk);
-extern void blk_unregister_filter(struct gendisk *disk);
 extern void blk_set_cmd_filter_defaults(struct blk_cmd_filter *filter);
 
 #define MAX_PHYS_SEGMENTS 128