Loading drivers/block/cciss.c +9 −7 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ static int cciss_getgeo(struct block_device *bdev, struct hd_geometry *geo); static int cciss_revalidate(struct gendisk *disk); static int rebuild_lun_table(ctlr_info_t *h, int first_time); static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, static int deregister_disk(ctlr_info_t *h, int drv_index, int clear_all); static void cciss_read_capacity(int ctlr, int logvol, int withirq, Loading Loading @@ -1479,8 +1479,7 @@ static void cciss_update_drive_info(int ctlr, int drv_index, int first_time) * which keeps the interrupt handler from starting * the queue. */ ret = deregister_disk(h->gendisk[drv_index], &h->drv[drv_index], 0); ret = deregister_disk(h, drv_index, 0); h->drv[drv_index].busy_configuring = 0; } Loading Loading @@ -1698,8 +1697,7 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time) spin_lock_irqsave(CCISS_LOCK(h->ctlr), flags); h->drv[i].busy_configuring = 1; spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags); return_code = deregister_disk(h->gendisk[i], &h->drv[i], 1); return_code = deregister_disk(h, i, 1); h->drv[i].busy_configuring = 0; } } Loading Loading @@ -1769,15 +1767,19 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time) * the highest_lun should be left unchanged and the LunID * should not be cleared. */ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, static int deregister_disk(ctlr_info_t *h, int drv_index, int clear_all) { int i; ctlr_info_t *h = get_host(disk); struct gendisk *disk; drive_info_struct *drv; if (!capable(CAP_SYS_RAWIO)) return -EPERM; drv = &h->drv[drv_index]; disk = h->gendisk[drv_index]; /* make sure logical volume is NOT is use */ if (clear_all || (h->gendisk[0] == disk)) { if (drv->usage_count > 1) Loading Loading
drivers/block/cciss.c +9 −7 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ static int cciss_getgeo(struct block_device *bdev, struct hd_geometry *geo); static int cciss_revalidate(struct gendisk *disk); static int rebuild_lun_table(ctlr_info_t *h, int first_time); static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, static int deregister_disk(ctlr_info_t *h, int drv_index, int clear_all); static void cciss_read_capacity(int ctlr, int logvol, int withirq, Loading Loading @@ -1479,8 +1479,7 @@ static void cciss_update_drive_info(int ctlr, int drv_index, int first_time) * which keeps the interrupt handler from starting * the queue. */ ret = deregister_disk(h->gendisk[drv_index], &h->drv[drv_index], 0); ret = deregister_disk(h, drv_index, 0); h->drv[drv_index].busy_configuring = 0; } Loading Loading @@ -1698,8 +1697,7 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time) spin_lock_irqsave(CCISS_LOCK(h->ctlr), flags); h->drv[i].busy_configuring = 1; spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags); return_code = deregister_disk(h->gendisk[i], &h->drv[i], 1); return_code = deregister_disk(h, i, 1); h->drv[i].busy_configuring = 0; } } Loading Loading @@ -1769,15 +1767,19 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time) * the highest_lun should be left unchanged and the LunID * should not be cleared. */ static int deregister_disk(struct gendisk *disk, drive_info_struct *drv, static int deregister_disk(ctlr_info_t *h, int drv_index, int clear_all) { int i; ctlr_info_t *h = get_host(disk); struct gendisk *disk; drive_info_struct *drv; if (!capable(CAP_SYS_RAWIO)) return -EPERM; drv = &h->drv[drv_index]; disk = h->gendisk[drv_index]; /* make sure logical volume is NOT is use */ if (clear_all || (h->gendisk[0] == disk)) { if (drv->usage_count > 1) Loading