Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed8a9d2c authored by Ilya Dryomov's avatar Ilya Dryomov Committed by Jens Axboe
Browse files

block: use bd{grab,put}() instead of open-coding



- bd_acquire() and bd_forget() open-code bdgrab() and bdput()
- raw driver uses igrab() but never checks its return value and always
  holds another ref from bind_set() while calling it, so it's
  equivalent to bdgrab()

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent e36f6204
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ static int raw_open(struct inode *inode, struct file *filp)
	err = -ENODEV;
	if (!bdev)
		goto out;
	igrab(bdev->bd_inode);
	bdgrab(bdev);
	err = blkdev_get(bdev, filp->f_mode | FMODE_EXCL, raw_open);
	if (err)
		goto out;
+3 −3
Original line number Diff line number Diff line
@@ -696,7 +696,7 @@ static struct block_device *bd_acquire(struct inode *inode)
	spin_lock(&bdev_lock);
	bdev = inode->i_bdev;
	if (bdev) {
		ihold(bdev->bd_inode);
		bdgrab(bdev);
		spin_unlock(&bdev_lock);
		return bdev;
	}
@@ -712,7 +712,7 @@ static struct block_device *bd_acquire(struct inode *inode)
			 * So, we can access it via ->i_mapping always
			 * without igrab().
			 */
			ihold(bdev->bd_inode);
			bdgrab(bdev);
			inode->i_bdev = bdev;
			inode->i_mapping = bdev->bd_inode->i_mapping;
			list_add(&inode->i_devices, &bdev->bd_inodes);
@@ -735,7 +735,7 @@ void bd_forget(struct inode *inode)
	spin_unlock(&bdev_lock);

	if (bdev)
		iput(bdev->bd_inode);
		bdput(bdev);
}

/**