diff options
| author | Alexander Viro <viro@parcelfarce.linux.theplanet.co.uk> | 2003-04-27 03:47:38 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-04-27 03:47:38 -0700 |
| commit | 07affbb1eadddfbab8e2270ee17965419887d8a2 (patch) | |
| tree | a1f506bc3939d605fc1f3017610c3cbefe999624 /drivers/block | |
| parent | 5e3ecdac24a4311ee8fa5c2203165e2bec8907e1 (diff) | |
[PATCH] bdget_disk()
New helper - bdget_disk(gendisk, partition)
invalidate_device() replaced with invalidate_partition(disk, part)
Diffstat (limited to 'drivers/block')
| -rw-r--r-- | drivers/block/floppy.c | 2 | ||||
| -rw-r--r-- | drivers/block/floppy98.c | 2 | ||||
| -rw-r--r-- | drivers/block/genhd.c | 11 | ||||
| -rw-r--r-- | drivers/block/ioctl.c | 2 |
4 files changed, 14 insertions, 3 deletions
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index e85256befeec..ee016885325c 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -3885,7 +3885,7 @@ static int floppy_read_block_0(struct gendisk *disk) struct block_device *bdev; int ret; - bdev = bdget(MKDEV(disk->major, disk->first_minor)); + bdev = bdget_disk(disk, 0); if (!bdev) { printk("No block device for %s\n", disk->disk_name); BUG(); diff --git a/drivers/block/floppy98.c b/drivers/block/floppy98.c index a01a515f0618..226b0cee8a20 100644 --- a/drivers/block/floppy98.c +++ b/drivers/block/floppy98.c @@ -3995,7 +3995,7 @@ static int floppy_read_block_0(struct gendisk *disk) struct block_device *bdev; int ret; - bdev = bdget(MKDEV(disk->major, disk->first_minor)); + bdev = bdget_disk(disk, 0); if (!bdev) { printk("No block device for %s\n", disk->disk_name); BUG(); diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c index 34d9d4dd91fc..fe922bcc5805 100644 --- a/drivers/block/genhd.c +++ b/drivers/block/genhd.c @@ -721,6 +721,17 @@ int bdev_read_only(struct block_device *bdev) return disk->policy; } +int invalidate_partition(struct gendisk *disk, int index) +{ + int res = 0; + struct block_device *bdev = bdget_disk(disk, index); + if (bdev) + res = __invalidate_device(bdev, 1); + bdput(bdev); + return res; +} + EXPORT_SYMBOL(bdev_read_only); EXPORT_SYMBOL(set_device_ro); EXPORT_SYMBOL(set_disk_ro); +EXPORT_SYMBOL(invalidate_partition); diff --git a/drivers/block/ioctl.c b/drivers/block/ioctl.c index 3dbd0824319b..04aae2485102 100644 --- a/drivers/block/ioctl.c +++ b/drivers/block/ioctl.c @@ -62,7 +62,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg *arg) if (disk->part[part - 1]->nr_sects == 0) return -ENXIO; /* partition in use? Incomplete check for now. */ - bdevp = bdget(MKDEV(disk->major, disk->first_minor) + part); + bdevp = bdget_disk(disk, part); if (!bdevp) return -ENOMEM; if (bd_claim(bdevp, &holder) < 0) { |
