summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Viro <viro@math.psu.edu>2002-04-30 19:57:49 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-04-30 19:57:49 -0700
commitec769fb0caa2c525910e06f679b546a9a3e75a89 (patch)
treec2629c2110103071b49a53e62c79ea7dae8728cd
parentaacb4fe3f2f313edfd4f0da8d0822ccb7c084d6b (diff)
[PATCH] (3/6) blksize_size[] removal
- switch block_size() to struct block_device *.
-rw-r--r--drivers/block/blkpg.c2
-rw-r--r--drivers/block/loop.c4
-rw-r--r--drivers/mtd/devices/blkmtd.c2
-rw-r--r--drivers/s390/char/tape34xx.c4
-rw-r--r--drivers/scsi/scsicam.c2
-rw-r--r--fs/block_dev.c10
-rw-r--r--fs/partitions/check.c2
-rw-r--r--fs/partitions/efi.c3
-rw-r--r--fs/super.c2
-rw-r--r--include/linux/blkdev.h3
-rw-r--r--mm/swapfile.c2
11 files changed, 19 insertions, 17 deletions
diff --git a/drivers/block/blkpg.c b/drivers/block/blkpg.c
index bb8ba8539ae4..410e67901a53 100644
--- a/drivers/block/blkpg.c
+++ b/drivers/block/blkpg.c
@@ -304,7 +304,7 @@ int blk_ioctl(struct block_device *bdev, unsigned int cmd, unsigned long arg)
case BLKBSZGET:
/* get the logical block size (cf. BLKSSZGET) */
- intval = block_size(dev);
+ intval = block_size(bdev);
return put_user(intval, (int *) arg);
case BLKBSZSET:
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 4923b9cc229a..2861dd2e6a11 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -284,7 +284,7 @@ static int lo_receive(struct loop_device *lo, struct bio *bio, int bsize, loff_t
static inline int loop_get_bs(struct loop_device *lo)
{
- return block_size(to_kdev_t(lo->lo_device->bd_dev));
+ return block_size(lo->lo_device);
}
static inline unsigned long loop_get_iv(struct loop_device *lo,
@@ -649,7 +649,7 @@ static int loop_set_fd(struct loop_device *lo, struct file *lo_file,
lo->old_gfp_mask = inode->i_mapping->gfp_mask;
inode->i_mapping->gfp_mask = GFP_NOIO;
- set_blocksize(bdev, block_size(to_kdev_t(lo_device->bd_dev)));
+ set_blocksize(bdev, block_size(lo_device));
lo->lo_bio = lo->lo_biotail = NULL;
kernel_thread(loop_thread, lo, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
diff --git a/drivers/mtd/devices/blkmtd.c b/drivers/mtd/devices/blkmtd.c
index a81aa73f49e9..cdb42c1d106e 100644
--- a/drivers/mtd/devices/blkmtd.c
+++ b/drivers/mtd/devices/blkmtd.c
@@ -1137,7 +1137,7 @@ static int __init init_blkmtd(void)
DEBUG(1, "blkmtd: devname = %s\n", bdevname(bdev));
blocksize = BLOCK_SIZE;
- blocksize = bs ? bs : block_size(rdev);
+ blocksize = bs ? bs : block_size(bdev);
i = blocksize;
blocksize_bits = 0;
while(i != 1) {
diff --git a/drivers/s390/char/tape34xx.c b/drivers/s390/char/tape34xx.c
index 6038963f8d03..c491a8c6f455 100644
--- a/drivers/s390/char/tape34xx.c
+++ b/drivers/s390/char/tape34xx.c
@@ -1344,11 +1344,13 @@ ccw_req_t * tape34xx_bread (struct request *req,tape_info_t* ti,int tapeblock_ma
ccw1_t *ccw;
__u8 *data;
kdev_t dev = mk_kdev(tapeblock_major, ti->blk_minor);
- unsigned bsize = block_size(dev);
+ struct block_device *bdev = bdget(kdev_t_to_nr(dev));
+ unsigned bsize = block_size(bdev);
int s2b = bsize/queue_hardsect_size(&ti->request_queue);
int realcount;
int size,bhct = 0;
struct buffer_head* bh;
+ bdput(bdev);
for (bh = req->bh; bh; bh = bh->b_reqnext) {
if (bh->b_size > bsize)
for (size = 0; size < bh->b_size; size += bsize)
diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c
index 9b653682e1bd..919ca8d6d39d 100644
--- a/drivers/scsi/scsicam.c
+++ b/drivers/scsi/scsicam.c
@@ -41,7 +41,7 @@ unsigned char *scsi_bios_ptable(kdev_t dev)
err = blkdev_get(bdev, FMODE_READ, 0, BDEV_FILE);
if (err)
goto fail;
- bh = __bread(bdev, 0, block_size(rdev));
+ bh = __bread(bdev, 0, block_size(bdev));
if (!bh)
goto fail2;
memcpy(res, bh->b_data + 0x1be, 66);
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 2dba3c7f7039..f4a3b0f51cd9 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -25,13 +25,13 @@
#define MAX_BUF_PER_PAGE (PAGE_CACHE_SIZE / 512)
-static unsigned long max_block(kdev_t dev)
+static unsigned long max_block(struct block_device *bdev)
{
unsigned int retval = ~0U;
- loff_t sz = blkdev_size_in_bytes(dev);
+ loff_t sz = bdev->bd_inode->i_size;
if (sz) {
- unsigned int size = block_size(dev);
+ unsigned int size = block_size(bdev);
unsigned int sizebits = blksize_bits(size);
retval = (sz >> sizebits);
}
@@ -112,7 +112,7 @@ int sb_min_blocksize(struct super_block *sb, int size)
static int blkdev_get_block(struct inode * inode, sector_t iblock, struct buffer_head * bh, int create)
{
- if (iblock >= max_block(inode->i_rdev))
+ if (iblock >= max_block(inode->i_bdev))
return -EIO;
bh->b_bdev = inode->i_bdev;
@@ -617,7 +617,7 @@ static int do_open(struct block_device *bdev, struct inode *inode, struct file *
}
bdev->bd_openers++;
bdev->bd_inode->i_size = blkdev_size(dev);
- bdev->bd_inode->i_blkbits = blksize_bits(block_size(dev));
+ bdev->bd_inode->i_blkbits = blksize_bits(block_size(bdev));
unlock_kernel();
up(&bdev->bd_sem);
return 0;
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index d3e559337ac1..cfd07dc90fdc 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -253,7 +253,7 @@ static void check_partition(struct gendisk *hd, kdev_t dev, int first_part_minor
bdev = bdget(kdev_t_to_nr(dev));
bdev->bd_contains = bdev;
bdev->bd_inode->i_size = (loff_t)hd->part[minor(dev)].nr_sects << 9;
- bdev->bd_inode->i_blkbits = blksize_bits(block_size(dev));
+ bdev->bd_inode->i_blkbits = blksize_bits(block_size(bdev));
for (i = 0; check_part[i]; i++) {
int res;
res = check_part[i](hd, bdev, first_sector, first_part_minor);
diff --git a/fs/partitions/efi.c b/fs/partitions/efi.c
index 612220d123c6..ea6496a3de2c 100644
--- a/fs/partitions/efi.c
+++ b/fs/partitions/efi.c
@@ -713,9 +713,8 @@ efi_partition(struct gendisk *hd, struct block_device *bdev,
unsigned long first_sector, int first_part_minor)
{
- kdev_t dev = to_kdev_t(bdev->bd_dev);
int hardblocksize = bdev_hardsect_size(bdev);
- int orig_blksize_size = block_size(dev);
+ int orig_blksize_size = block_size(bdev);
int rc = 0;
/* Need to change the block size that the block layer uses */
diff --git a/fs/super.c b/fs/super.c
index 551788d588c0..76d3db53cace 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -516,7 +516,7 @@ struct super_block *get_sb_bdev(struct file_system_type *fs_type,
} else {
s->s_flags = flags;
strncpy(s->s_id, bdevname(bdev), sizeof(s->s_id));
- s->s_old_blocksize = block_size(dev);
+ s->s_old_blocksize = block_size(bdev);
sb_set_blocksize(s, s->s_old_blocksize);
error = fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
if (error) {
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 01497e05a70a..2bb86494e555 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -372,9 +372,10 @@ extern inline unsigned int blksize_bits(unsigned int size)
return bits;
}
-extern inline unsigned int block_size(kdev_t dev)
+extern inline unsigned int block_size(struct block_device *bdev)
{
int retval = BLOCK_SIZE;
+ kdev_t dev = to_kdev_t(bdev->bd_dev);
int major = major(dev);
if (blksize_size[major]) {
diff --git a/mm/swapfile.c b/mm/swapfile.c
index d10d5cb882c0..67bedbf68446 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -920,7 +920,7 @@ asmlinkage long sys_swapon(const char * specialfile, int swap_flags)
bdev = NULL;
goto bad_swap;
}
- p->old_block_size = block_size(to_kdev_t(bdev->bd_dev));
+ p->old_block_size = block_size(bdev);
error = set_blocksize(swap_file->f_dentry->d_inode->i_bdev,
PAGE_SIZE);
if (error < 0)