Commit e455ed22 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

ocfs2: cleanup o2hb_region_dev_store

Use blkdev_get_by_dev instead of igrab (aka open coded bdgrab) +
blkdev_get.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 841ab72c
...@@ -1766,7 +1766,6 @@ static ssize_t o2hb_region_dev_store(struct config_item *item, ...@@ -1766,7 +1766,6 @@ static ssize_t o2hb_region_dev_store(struct config_item *item,
int sectsize; int sectsize;
char *p = (char *)page; char *p = (char *)page;
struct fd f; struct fd f;
struct inode *inode;
ssize_t ret = -EINVAL; ssize_t ret = -EINVAL;
int live_threshold; int live_threshold;
...@@ -1793,20 +1792,16 @@ static ssize_t o2hb_region_dev_store(struct config_item *item, ...@@ -1793,20 +1792,16 @@ static ssize_t o2hb_region_dev_store(struct config_item *item,
reg->hr_block_bytes == 0) reg->hr_block_bytes == 0)
goto out2; goto out2;
inode = igrab(f.file->f_mapping->host); if (!S_ISBLK(f.file->f_mapping->host->i_mode))
if (inode == NULL)
goto out2; goto out2;
if (!S_ISBLK(inode->i_mode)) reg->hr_bdev = blkdev_get_by_dev(f.file->f_mapping->host->i_rdev,
goto out3; FMODE_WRITE | FMODE_READ, NULL);
if (IS_ERR(reg->hr_bdev)) {
reg->hr_bdev = I_BDEV(f.file->f_mapping->host); ret = PTR_ERR(reg->hr_bdev);
ret = blkdev_get(reg->hr_bdev, FMODE_WRITE | FMODE_READ, NULL);
if (ret) {
reg->hr_bdev = NULL; reg->hr_bdev = NULL;
goto out3; goto out2;
} }
inode = NULL;
bdevname(reg->hr_bdev, reg->hr_dev_name); bdevname(reg->hr_bdev, reg->hr_dev_name);
...@@ -1909,16 +1904,13 @@ static ssize_t o2hb_region_dev_store(struct config_item *item, ...@@ -1909,16 +1904,13 @@ static ssize_t o2hb_region_dev_store(struct config_item *item,
config_item_name(&reg->hr_item), reg->hr_dev_name); config_item_name(&reg->hr_item), reg->hr_dev_name);
out3: out3:
iput(inode); if (ret < 0) {
blkdev_put(reg->hr_bdev, FMODE_READ | FMODE_WRITE);
reg->hr_bdev = NULL;
}
out2: out2:
fdput(f); fdput(f);
out: out:
if (ret < 0) {
if (reg->hr_bdev) {
blkdev_put(reg->hr_bdev, FMODE_READ|FMODE_WRITE);
reg->hr_bdev = NULL;
}
}
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment