Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

block_device_operations->release() should return void

The value passed is 0 in all but "it can never happen" cases (and those
only in a couple of drivers) *and* it would've been lost on the way
out anyway, even if something tried to pass something meaningful.
Just don't bother.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro db2a144b a8ca889e

+62 -121
+2 -3
arch/um/drivers/ubd_kern.c
··· 87 87 static DEFINE_MUTEX(ubd_mutex); /* replaces BKL, might not be needed */ 88 88 89 89 static int ubd_open(struct block_device *bdev, fmode_t mode); 90 - static int ubd_release(struct gendisk *disk, fmode_t mode); 90 + static void ubd_release(struct gendisk *disk, fmode_t mode); 91 91 static int ubd_ioctl(struct block_device *bdev, fmode_t mode, 92 92 unsigned int cmd, unsigned long arg); 93 93 static int ubd_getgeo(struct block_device *bdev, struct hd_geometry *geo); ··· 1138 1138 return err; 1139 1139 } 1140 1140 1141 - static int ubd_release(struct gendisk *disk, fmode_t mode) 1141 + static void ubd_release(struct gendisk *disk, fmode_t mode) 1142 1142 { 1143 1143 struct ubd *ubd_dev = disk->private_data; 1144 1144 ··· 1146 1146 if(--ubd_dev->count == 0) 1147 1147 ubd_close_dev(ubd_dev); 1148 1148 mutex_unlock(&ubd_mutex); 1149 - return 0; 1150 1149 } 1151 1150 1152 1151 static void cowify_bitmap(__u64 io_offset, int length, unsigned long *cow_mask,
+1 -2
arch/xtensa/platforms/iss/simdisk.c
··· 139 139 return 0; 140 140 } 141 141 142 - static int simdisk_release(struct gendisk *disk, fmode_t mode) 142 + static void simdisk_release(struct gendisk *disk, fmode_t mode) 143 143 { 144 144 struct simdisk *dev = disk->private_data; 145 145 spin_lock(&dev->lock); 146 146 --dev->users; 147 147 spin_unlock(&dev->lock); 148 - return 0; 149 148 } 150 149 151 150 static const struct block_device_operations simdisk_ops = {
+1 -2
drivers/block/amiflop.c
··· 1634 1634 return 0; 1635 1635 } 1636 1636 1637 - static int floppy_release(struct gendisk *disk, fmode_t mode) 1637 + static void floppy_release(struct gendisk *disk, fmode_t mode) 1638 1638 { 1639 1639 struct amiga_floppy_struct *p = disk->private_data; 1640 1640 int drive = p - unit; ··· 1654 1654 floppy_off (drive | 0x40000000); 1655 1655 #endif 1656 1656 mutex_unlock(&amiflop_mutex); 1657 - return 0; 1658 1657 } 1659 1658 1660 1659 /*
+2 -4
drivers/block/aoe/aoeblk.c
··· 169 169 return -ENODEV; 170 170 } 171 171 172 - static int 172 + static void 173 173 aoeblk_release(struct gendisk *disk, fmode_t mode) 174 174 { 175 175 struct aoedev *d = disk->private_data; ··· 180 180 if (--d->nopen == 0) { 181 181 spin_unlock_irqrestore(&d->lock, flags); 182 182 aoecmd_cfg(d->aoemajor, d->aoeminor); 183 - return 0; 183 + return; 184 184 } 185 185 spin_unlock_irqrestore(&d->lock, flags); 186 - 187 - return 0; 188 186 } 189 187 190 188 static void
+2 -3
drivers/block/ataflop.c
··· 367 367 static int fd_test_drive_present( int drive ); 368 368 static void config_types( void ); 369 369 static int floppy_open(struct block_device *bdev, fmode_t mode); 370 - static int floppy_release(struct gendisk *disk, fmode_t mode); 370 + static void floppy_release(struct gendisk *disk, fmode_t mode); 371 371 372 372 /************************* End of Prototypes **************************/ 373 373 ··· 1886 1886 return ret; 1887 1887 } 1888 1888 1889 - static int floppy_release(struct gendisk *disk, fmode_t mode) 1889 + static void floppy_release(struct gendisk *disk, fmode_t mode) 1890 1890 { 1891 1891 struct atari_floppy_struct *p = disk->private_data; 1892 1892 mutex_lock(&ataflop_mutex); ··· 1897 1897 p->ref = 0; 1898 1898 } 1899 1899 mutex_unlock(&ataflop_mutex); 1900 - return 0; 1901 1900 } 1902 1901 1903 1902 static const struct block_device_operations floppy_fops = {
+2 -3
drivers/block/cciss.c
··· 161 161 static irqreturn_t do_cciss_msix_intr(int irq, void *dev_id); 162 162 static int cciss_open(struct block_device *bdev, fmode_t mode); 163 163 static int cciss_unlocked_open(struct block_device *bdev, fmode_t mode); 164 - static int cciss_release(struct gendisk *disk, fmode_t mode); 164 + static void cciss_release(struct gendisk *disk, fmode_t mode); 165 165 static int do_ioctl(struct block_device *bdev, fmode_t mode, 166 166 unsigned int cmd, unsigned long arg); 167 167 static int cciss_ioctl(struct block_device *bdev, fmode_t mode, ··· 1123 1123 /* 1124 1124 * Close. Sync first. 1125 1125 */ 1126 - static int cciss_release(struct gendisk *disk, fmode_t mode) 1126 + static void cciss_release(struct gendisk *disk, fmode_t mode) 1127 1127 { 1128 1128 ctlr_info_t *h; 1129 1129 drive_info_struct *drv; ··· 1135 1135 drv->usage_count--; 1136 1136 h->usage_count--; 1137 1137 mutex_unlock(&cciss_mutex); 1138 - return 0; 1139 1138 } 1140 1139 1141 1140 static int do_ioctl(struct block_device *bdev, fmode_t mode,
+2 -4
drivers/block/cpqarray.c
··· 160 160 unsigned int log_unit ); 161 161 162 162 static int ida_unlocked_open(struct block_device *bdev, fmode_t mode); 163 - static int ida_release(struct gendisk *disk, fmode_t mode); 163 + static void ida_release(struct gendisk *disk, fmode_t mode); 164 164 static int ida_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg); 165 165 static int ida_getgeo(struct block_device *bdev, struct hd_geometry *geo); 166 166 static int ida_ctlr_ioctl(ctlr_info_t *h, int dsk, ida_ioctl_t *io); ··· 856 856 /* 857 857 * Close. Sync first. 858 858 */ 859 - static int ida_release(struct gendisk *disk, fmode_t mode) 859 + static void ida_release(struct gendisk *disk, fmode_t mode) 860 860 { 861 861 ctlr_info_t *host; 862 862 ··· 864 864 host = get_host(disk); 865 865 host->usage_count--; 866 866 mutex_unlock(&cpqarray_mutex); 867 - 868 - return 0; 869 867 } 870 868 871 869 /*
+2 -3
drivers/block/drbd/drbd_main.c
··· 63 63 64 64 int drbd_init(void); 65 65 static int drbd_open(struct block_device *bdev, fmode_t mode); 66 - static int drbd_release(struct gendisk *gd, fmode_t mode); 66 + static void drbd_release(struct gendisk *gd, fmode_t mode); 67 67 static int w_md_sync(struct drbd_work *w, int unused); 68 68 static void md_sync_timer_fn(unsigned long data); 69 69 static int w_bitmap_io(struct drbd_work *w, int unused); ··· 1849 1849 return rv; 1850 1850 } 1851 1851 1852 - static int drbd_release(struct gendisk *gd, fmode_t mode) 1852 + static void drbd_release(struct gendisk *gd, fmode_t mode) 1853 1853 { 1854 1854 struct drbd_conf *mdev = gd->private_data; 1855 1855 mutex_lock(&drbd_main_mutex); 1856 1856 mdev->open_cnt--; 1857 1857 mutex_unlock(&drbd_main_mutex); 1858 - return 0; 1859 1858 } 1860 1859 1861 1860 static void drbd_set_defaults(struct drbd_conf *mdev)
+1 -3
drivers/block/floppy.c
··· 3601 3601 pr_cont("\n"); 3602 3602 } 3603 3603 3604 - static int floppy_release(struct gendisk *disk, fmode_t mode) 3604 + static void floppy_release(struct gendisk *disk, fmode_t mode) 3605 3605 { 3606 3606 int drive = (long)disk->private_data; 3607 3607 ··· 3615 3615 opened_bdev[drive] = NULL; 3616 3616 mutex_unlock(&open_lock); 3617 3617 mutex_unlock(&floppy_mutex); 3618 - 3619 - return 0; 3620 3618 } 3621 3619 3622 3620 /*
+2 -4
drivers/block/loop.c
··· 1518 1518 return err; 1519 1519 } 1520 1520 1521 - static int lo_release(struct gendisk *disk, fmode_t mode) 1521 + static void lo_release(struct gendisk *disk, fmode_t mode) 1522 1522 { 1523 1523 struct loop_device *lo = disk->private_data; 1524 1524 int err; ··· 1535 1535 */ 1536 1536 err = loop_clr_fd(lo); 1537 1537 if (!err) 1538 - goto out_unlocked; 1538 + return; 1539 1539 } else { 1540 1540 /* 1541 1541 * Otherwise keep thread (if running) and config, ··· 1546 1546 1547 1547 out: 1548 1548 mutex_unlock(&lo->lo_ctl_mutex); 1549 - out_unlocked: 1550 - return 0; 1551 1549 } 1552 1550 1553 1551 static const struct block_device_operations lo_fops = {
+1 -2
drivers/block/paride/pcd.c
··· 236 236 return ret; 237 237 } 238 238 239 - static int pcd_block_release(struct gendisk *disk, fmode_t mode) 239 + static void pcd_block_release(struct gendisk *disk, fmode_t mode) 240 240 { 241 241 struct pcd_unit *cd = disk->private_data; 242 242 mutex_lock(&pcd_mutex); 243 243 cdrom_release(&cd->info, mode); 244 244 mutex_unlock(&pcd_mutex); 245 - return 0; 246 245 } 247 246 248 247 static int pcd_block_ioctl(struct block_device *bdev, fmode_t mode,
+1 -3
drivers/block/paride/pd.c
··· 783 783 } 784 784 } 785 785 786 - static int pd_release(struct gendisk *p, fmode_t mode) 786 + static void pd_release(struct gendisk *p, fmode_t mode) 787 787 { 788 788 struct pd_unit *disk = p->private_data; 789 789 ··· 791 791 if (!--disk->access && disk->removable) 792 792 pd_special_command(disk, pd_door_unlock); 793 793 mutex_unlock(&pd_mutex); 794 - 795 - return 0; 796 794 } 797 795 798 796 static unsigned int pd_check_events(struct gendisk *p, unsigned int clearing)
+4 -5
drivers/block/paride/pf.c
··· 211 211 unsigned int cmd, unsigned long arg); 212 212 static int pf_getgeo(struct block_device *bdev, struct hd_geometry *geo); 213 213 214 - static int pf_release(struct gendisk *disk, fmode_t mode); 214 + static void pf_release(struct gendisk *disk, fmode_t mode); 215 215 216 216 static int pf_detect(void); 217 217 static void do_pf_read(void); ··· 360 360 return 0; 361 361 } 362 362 363 - static int pf_release(struct gendisk *disk, fmode_t mode) 363 + static void pf_release(struct gendisk *disk, fmode_t mode) 364 364 { 365 365 struct pf_unit *pf = disk->private_data; 366 366 367 367 mutex_lock(&pf_mutex); 368 368 if (pf->access <= 0) { 369 369 mutex_unlock(&pf_mutex); 370 - return -EINVAL; 370 + WARN_ON(1); 371 + return; 371 372 } 372 373 373 374 pf->access--; ··· 377 376 pf_lock(pf, 0); 378 377 379 378 mutex_unlock(&pf_mutex); 380 - return 0; 381 - 382 379 } 383 380 384 381 static unsigned int pf_check_events(struct gendisk *disk, unsigned int clearing)
+1 -3
drivers/block/pktcdvd.c
··· 2376 2376 return ret; 2377 2377 } 2378 2378 2379 - static int pkt_close(struct gendisk *disk, fmode_t mode) 2379 + static void pkt_close(struct gendisk *disk, fmode_t mode) 2380 2380 { 2381 2381 struct pktcdvd_device *pd = disk->private_data; 2382 - int ret = 0; 2383 2382 2384 2383 mutex_lock(&pktcdvd_mutex); 2385 2384 mutex_lock(&ctl_mutex); ··· 2390 2391 } 2391 2392 mutex_unlock(&ctl_mutex); 2392 2393 mutex_unlock(&pktcdvd_mutex); 2393 - return ret; 2394 2394 } 2395 2395 2396 2396
+1 -3
drivers/block/rbd.c
··· 411 411 return 0; 412 412 } 413 413 414 - static int rbd_release(struct gendisk *disk, fmode_t mode) 414 + static void rbd_release(struct gendisk *disk, fmode_t mode) 415 415 { 416 416 struct rbd_device *rbd_dev = disk->private_data; 417 417 unsigned long open_count_before; ··· 424 424 mutex_lock_nested(&ctl_mutex, SINGLE_DEPTH_NESTING); 425 425 put_device(&rbd_dev->dev); 426 426 mutex_unlock(&ctl_mutex); 427 - 428 - return 0; 429 427 } 430 428 431 429 static const struct block_device_operations rbd_bd_ops = {
+1 -3
drivers/block/swim.c
··· 673 673 return ret; 674 674 } 675 675 676 - static int floppy_release(struct gendisk *disk, fmode_t mode) 676 + static void floppy_release(struct gendisk *disk, fmode_t mode) 677 677 { 678 678 struct floppy_state *fs = disk->private_data; 679 679 struct swim __iomem *base = fs->swd->base; ··· 687 687 if (fs->ref_count == 0) 688 688 swim_motor(base, OFF); 689 689 mutex_unlock(&swim_mutex); 690 - 691 - return 0; 692 690 } 693 691 694 692 static int floppy_ioctl(struct block_device *bdev, fmode_t mode,
+2 -3
drivers/block/swim3.c
··· 251 251 static int floppy_ioctl(struct block_device *bdev, fmode_t mode, 252 252 unsigned int cmd, unsigned long param); 253 253 static int floppy_open(struct block_device *bdev, fmode_t mode); 254 - static int floppy_release(struct gendisk *disk, fmode_t mode); 254 + static void floppy_release(struct gendisk *disk, fmode_t mode); 255 255 static unsigned int floppy_check_events(struct gendisk *disk, 256 256 unsigned int clearing); 257 257 static int floppy_revalidate(struct gendisk *disk); ··· 1017 1017 return ret; 1018 1018 } 1019 1019 1020 - static int floppy_release(struct gendisk *disk, fmode_t mode) 1020 + static void floppy_release(struct gendisk *disk, fmode_t mode) 1021 1021 { 1022 1022 struct floppy_state *fs = disk->private_data; 1023 1023 struct swim3 __iomem *sw = fs->swim3; ··· 1029 1029 swim3_select(fs, RELAX); 1030 1030 } 1031 1031 mutex_unlock(&swim3_mutex); 1032 - return 0; 1033 1032 } 1034 1033 1035 1034 static unsigned int floppy_check_events(struct gendisk *disk,
+1 -2
drivers/block/xen-blkfront.c
··· 1617 1617 return err; 1618 1618 } 1619 1619 1620 - static int blkif_release(struct gendisk *disk, fmode_t mode) 1620 + static void blkif_release(struct gendisk *disk, fmode_t mode) 1621 1621 { 1622 1622 struct blkfront_info *info = disk->private_data; 1623 1623 struct block_device *bdev; ··· 1658 1658 out: 1659 1659 bdput(bdev); 1660 1660 mutex_unlock(&blkfront_mutex); 1661 - return 0; 1662 1661 } 1663 1662 1664 1663 static const struct block_device_operations xlvbd_block_fops =
+1 -2
drivers/block/xsysace.c
··· 915 915 return 0; 916 916 } 917 917 918 - static int ace_release(struct gendisk *disk, fmode_t mode) 918 + static void ace_release(struct gendisk *disk, fmode_t mode) 919 919 { 920 920 struct ace_device *ace = disk->private_data; 921 921 unsigned long flags; ··· 932 932 } 933 933 spin_unlock_irqrestore(&ace->lock, flags); 934 934 mutex_unlock(&xsysace_mutex); 935 - return 0; 936 935 } 937 936 938 937 static int ace_getgeo(struct block_device *bdev, struct hd_geometry *geo)
+2 -4
drivers/block/z2ram.c
··· 309 309 return rc; 310 310 } 311 311 312 - static int 312 + static void 313 313 z2_release(struct gendisk *disk, fmode_t mode) 314 314 { 315 315 mutex_lock(&z2ram_mutex); 316 316 if ( current_device == -1 ) { 317 317 mutex_unlock(&z2ram_mutex); 318 - return 0; 318 + return; 319 319 } 320 320 mutex_unlock(&z2ram_mutex); 321 321 /* 322 322 * FIXME: unmap memory 323 323 */ 324 - 325 - return 0; 326 324 } 327 325 328 326 static const struct block_device_operations z2_fops =
+1 -2
drivers/cdrom/gdrom.c
··· 503 503 return ret; 504 504 } 505 505 506 - static int gdrom_bdops_release(struct gendisk *disk, fmode_t mode) 506 + static void gdrom_bdops_release(struct gendisk *disk, fmode_t mode) 507 507 { 508 508 mutex_lock(&gdrom_mutex); 509 509 cdrom_release(gd.cd_info, mode); 510 510 mutex_unlock(&gdrom_mutex); 511 - return 0; 512 511 } 513 512 514 513 static unsigned int gdrom_bdops_check_events(struct gendisk *disk,
+1 -3
drivers/ide/ide-cd.c
··· 1606 1606 return rc; 1607 1607 } 1608 1608 1609 - static int idecd_release(struct gendisk *disk, fmode_t mode) 1609 + static void idecd_release(struct gendisk *disk, fmode_t mode) 1610 1610 { 1611 1611 struct cdrom_info *info = ide_drv_g(disk, cdrom_info); 1612 1612 ··· 1615 1615 1616 1616 ide_cd_put(info); 1617 1617 mutex_unlock(&ide_cd_mutex); 1618 - 1619 - return 0; 1620 1618 } 1621 1619 1622 1620 static int idecd_set_spindown(struct cdrom_device_info *cdi, unsigned long arg)
+1 -3
drivers/ide/ide-gd.c
··· 250 250 } 251 251 252 252 253 - static int ide_gd_release(struct gendisk *disk, fmode_t mode) 253 + static void ide_gd_release(struct gendisk *disk, fmode_t mode) 254 254 { 255 255 struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); 256 256 ide_drive_t *drive = idkp->drive; ··· 270 270 271 271 ide_disk_put(idkp); 272 272 mutex_unlock(&ide_gd_mutex); 273 - 274 - return 0; 275 273 } 276 274 277 275 static int ide_gd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
+1 -3
drivers/ide/ide-tape.c
··· 1918 1918 return 0; 1919 1919 } 1920 1920 1921 - static int idetape_release(struct gendisk *disk, fmode_t mode) 1921 + static void idetape_release(struct gendisk *disk, fmode_t mode) 1922 1922 { 1923 1923 struct ide_tape_obj *tape = ide_drv_g(disk, ide_tape_obj); 1924 1924 1925 1925 mutex_lock(&ide_tape_mutex); 1926 1926 ide_tape_put(tape); 1927 1927 mutex_unlock(&ide_tape_mutex); 1928 - 1929 - return 0; 1930 1928 } 1931 1929 1932 1930 static int idetape_ioctl(struct block_device *bdev, fmode_t mode,
+1 -3
drivers/md/dm.c
··· 339 339 return md ? 0 : -ENXIO; 340 340 } 341 341 342 - static int dm_blk_close(struct gendisk *disk, fmode_t mode) 342 + static void dm_blk_close(struct gendisk *disk, fmode_t mode) 343 343 { 344 344 struct mapped_device *md = disk->private_data; 345 345 ··· 349 349 dm_put(md); 350 350 351 351 spin_unlock(&_minor_lock); 352 - 353 - return 0; 354 352 } 355 353 356 354 int dm_open_count(struct mapped_device *md)
+1 -3
drivers/md/md.c
··· 6674 6674 return err; 6675 6675 } 6676 6676 6677 - static int md_release(struct gendisk *disk, fmode_t mode) 6677 + static void md_release(struct gendisk *disk, fmode_t mode) 6678 6678 { 6679 6679 struct mddev *mddev = disk->private_data; 6680 6680 6681 6681 BUG_ON(!mddev); 6682 6682 atomic_dec(&mddev->openers); 6683 6683 mddev_put(mddev); 6684 - 6685 - return 0; 6686 6684 } 6687 6685 6688 6686 static int md_media_changed(struct gendisk *disk)
+3 -5
drivers/memstick/core/mspro_block.c
··· 204 204 } 205 205 206 206 207 - static int mspro_block_disk_release(struct gendisk *disk) 207 + static void mspro_block_disk_release(struct gendisk *disk) 208 208 { 209 209 struct mspro_block_data *msb = disk->private_data; 210 210 int disk_id = MINOR(disk_devt(disk)) >> MSPRO_BLOCK_PART_SHIFT; ··· 224 224 } 225 225 226 226 mutex_unlock(&mspro_block_disk_lock); 227 - 228 - return 0; 229 227 } 230 228 231 - static int mspro_block_bd_release(struct gendisk *disk, fmode_t mode) 229 + static void mspro_block_bd_release(struct gendisk *disk, fmode_t mode) 232 230 { 233 - return mspro_block_disk_release(disk); 231 + mspro_block_disk_release(disk); 234 232 } 235 233 236 234 static int mspro_block_bd_getgeo(struct block_device *bdev,
+2 -6
drivers/message/i2o/i2o_block.c
··· 600 600 * 601 601 * Unlock and unmount the media, and power down the device. Gets called if 602 602 * the block device is closed. 603 - * 604 - * Returns 0 on success or negative error code on failure. 605 603 */ 606 - static int i2o_block_release(struct gendisk *disk, fmode_t mode) 604 + static void i2o_block_release(struct gendisk *disk, fmode_t mode) 607 605 { 608 606 struct i2o_block_device *dev = disk->private_data; 609 607 u8 operation; ··· 615 617 * the TID no longer exists. 616 618 */ 617 619 if (!dev->i2o_dev) 618 - return 0; 620 + return; 619 621 620 622 mutex_lock(&i2o_block_mutex); 621 623 i2o_block_device_flush(dev->i2o_dev); ··· 629 631 630 632 i2o_block_device_power(dev, operation); 631 633 mutex_unlock(&i2o_block_mutex); 632 - 633 - return 0; 634 634 } 635 635 636 636 static int i2o_block_getgeo(struct block_device *bdev, struct hd_geometry *geo)
+1 -2
drivers/mmc/card/block.c
··· 304 304 return ret; 305 305 } 306 306 307 - static int mmc_blk_release(struct gendisk *disk, fmode_t mode) 307 + static void mmc_blk_release(struct gendisk *disk, fmode_t mode) 308 308 { 309 309 struct mmc_blk_data *md = disk->private_data; 310 310 311 311 mutex_lock(&block_mutex); 312 312 mmc_blk_put(md); 313 313 mutex_unlock(&block_mutex); 314 - return 0; 315 314 } 316 315 317 316 static int
+2 -3
drivers/mtd/mtd_blkdevs.c
··· 237 237 return ret; 238 238 } 239 239 240 - static int blktrans_release(struct gendisk *disk, fmode_t mode) 240 + static void blktrans_release(struct gendisk *disk, fmode_t mode) 241 241 { 242 242 struct mtd_blktrans_dev *dev = blktrans_dev_get(disk); 243 243 244 244 if (!dev) 245 - return 0; 245 + return; 246 246 247 247 mutex_lock(&dev->lock); 248 248 ··· 260 260 unlock: 261 261 mutex_unlock(&dev->lock); 262 262 blktrans_dev_put(dev); 263 - return 0; 264 263 } 265 264 266 265 static int blktrans_getgeo(struct block_device *bdev, struct hd_geometry *geo)
+7 -11
drivers/s390/block/dasd.c
··· 2997 2997 return rc; 2998 2998 } 2999 2999 3000 - static int dasd_release(struct gendisk *disk, fmode_t mode) 3000 + static void dasd_release(struct gendisk *disk, fmode_t mode) 3001 3001 { 3002 - struct dasd_device *base; 3003 - 3004 - base = dasd_device_from_gendisk(disk); 3005 - if (!base) 3006 - return -ENODEV; 3007 - 3008 - atomic_dec(&base->block->open_count); 3009 - module_put(base->discipline->owner); 3010 - dasd_put_device(base); 3011 - return 0; 3002 + struct dasd_device *base = dasd_device_from_gendisk(disk); 3003 + if (base) { 3004 + atomic_dec(&base->block->open_count); 3005 + module_put(base->discipline->owner); 3006 + dasd_put_device(base); 3007 + } 3012 3008 } 3013 3009 3014 3010 /*
+4 -8
drivers/s390/block/dcssblk.c
··· 26 26 #define DCSS_BUS_ID_SIZE 20 27 27 28 28 static int dcssblk_open(struct block_device *bdev, fmode_t mode); 29 - static int dcssblk_release(struct gendisk *disk, fmode_t mode); 29 + static void dcssblk_release(struct gendisk *disk, fmode_t mode); 30 30 static void dcssblk_make_request(struct request_queue *q, struct bio *bio); 31 31 static int dcssblk_direct_access(struct block_device *bdev, sector_t secnum, 32 32 void **kaddr, unsigned long *pfn); ··· 781 781 return rc; 782 782 } 783 783 784 - static int 784 + static void 785 785 dcssblk_release(struct gendisk *disk, fmode_t mode) 786 786 { 787 787 struct dcssblk_dev_info *dev_info = disk->private_data; 788 788 struct segment_info *entry; 789 - int rc; 790 789 791 790 if (!dev_info) { 792 - rc = -ENODEV; 793 - goto out; 791 + WARN_ON(1); 792 + return; 794 793 } 795 794 down_write(&dcssblk_devices_sem); 796 795 if (atomic_dec_and_test(&dev_info->use_count) ··· 802 803 dev_info->save_pending = 0; 803 804 } 804 805 up_write(&dcssblk_devices_sem); 805 - rc = 0; 806 - out: 807 - return rc; 808 806 } 809 807 810 808 static void
+1 -2
drivers/s390/block/scm_blk.c
··· 123 123 return scm_get_ref(); 124 124 } 125 125 126 - static int scm_release(struct gendisk *gendisk, fmode_t mode) 126 + static void scm_release(struct gendisk *gendisk, fmode_t mode) 127 127 { 128 128 scm_put_ref(); 129 - return 0; 130 129 } 131 130 132 131 static const struct block_device_operations scm_blk_devops = {
+1 -2
drivers/scsi/sd.c
··· 1188 1188 * 1189 1189 * Locking: called with bdev->bd_mutex held. 1190 1190 **/ 1191 - static int sd_release(struct gendisk *disk, fmode_t mode) 1191 + static void sd_release(struct gendisk *disk, fmode_t mode) 1192 1192 { 1193 1193 struct scsi_disk *sdkp = scsi_disk(disk); 1194 1194 struct scsi_device *sdev = sdkp->device; ··· 1207 1207 1208 1208 scsi_autopm_put_device(sdev); 1209 1209 scsi_disk_put(sdkp); 1210 - return 0; 1211 1210 } 1212 1211 1213 1212 static int sd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
+1 -2
drivers/scsi/sr.c
··· 541 541 return ret; 542 542 } 543 543 544 - static int sr_block_release(struct gendisk *disk, fmode_t mode) 544 + static void sr_block_release(struct gendisk *disk, fmode_t mode) 545 545 { 546 546 struct scsi_cd *cd = scsi_cd(disk); 547 547 mutex_lock(&sr_mutex); 548 548 cdrom_release(&cd->cdi, mode); 549 549 scsi_cd_put(cd); 550 550 mutex_unlock(&sr_mutex); 551 - return 0; 552 551 } 553 552 554 553 static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
+1 -1
fs/block_dev.c
··· 1422 1422 } 1423 1423 if (bdev->bd_contains == bdev) { 1424 1424 if (disk->fops->release) 1425 - ret = disk->fops->release(disk, mode); 1425 + disk->fops->release(disk, mode); 1426 1426 } 1427 1427 if (!bdev->bd_openers) { 1428 1428 struct module *owner = disk->fops->owner;
+1 -1
include/linux/blkdev.h
··· 1484 1484 1485 1485 struct block_device_operations { 1486 1486 int (*open) (struct block_device *, fmode_t); 1487 - int (*release) (struct gendisk *, fmode_t); 1487 + void (*release) (struct gendisk *, fmode_t); 1488 1488 int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); 1489 1489 int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); 1490 1490 int (*direct_access) (struct block_device *, sector_t,