/* When the final fd which refers to this character-special node is closed, we make its ->mapping point back at its own i_data.  */
static int raw_release(struct inode *inode, struct file *filp)
/* When the final fd which refers to this character-special node is closed, we make its ->mapping point back at its own i_data.  */
static int raw_release(struct inode *inode, struct file *filp)
{
	const int minor= iminor(inode);
	struct block_device *bdev;
	mutex_lock(&raw_mutex);
	bdev = raw_devices[minor].binding;
	if (--raw_devices[minor].inuse == 0) {
		inode->i_mapping = &inode->i_data;
		inode->i_mapping->backing_dev_info = &default_backing_dev_info;
	}
	mutex_unlock(&raw_mutex);
	bd_release(bdev);
	blkdev_put(bdev, filp->f_mode);
	return 0;
}