Skip to content

Commit 034f0cf

Browse files
committed
target: port block device access to file
Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Jan Kara <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
1 parent c8e108d commit 034f0cf

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

drivers/target/target_core_iblock.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ static int iblock_configure_device(struct se_device *dev)
9191
{
9292
struct iblock_dev *ib_dev = IBLOCK_DEV(dev);
9393
struct request_queue *q;
94-
struct bdev_handle *bdev_handle;
94+
struct file *bdev_file;
9595
struct block_device *bd;
9696
struct blk_integrity *bi;
9797
blk_mode_t mode = BLK_OPEN_READ;
@@ -117,14 +117,14 @@ static int iblock_configure_device(struct se_device *dev)
117117
else
118118
dev->dev_flags |= DF_READ_ONLY;
119119

120-
bdev_handle = bdev_open_by_path(ib_dev->ibd_udev_path, mode, ib_dev,
120+
bdev_file = bdev_file_open_by_path(ib_dev->ibd_udev_path, mode, ib_dev,
121121
NULL);
122-
if (IS_ERR(bdev_handle)) {
123-
ret = PTR_ERR(bdev_handle);
122+
if (IS_ERR(bdev_file)) {
123+
ret = PTR_ERR(bdev_file);
124124
goto out_free_bioset;
125125
}
126-
ib_dev->ibd_bdev_handle = bdev_handle;
127-
ib_dev->ibd_bd = bd = bdev_handle->bdev;
126+
ib_dev->ibd_bdev_file = bdev_file;
127+
ib_dev->ibd_bd = bd = file_bdev(bdev_file);
128128

129129
q = bdev_get_queue(bd);
130130

@@ -180,7 +180,7 @@ static int iblock_configure_device(struct se_device *dev)
180180
return 0;
181181

182182
out_blkdev_put:
183-
bdev_release(ib_dev->ibd_bdev_handle);
183+
fput(ib_dev->ibd_bdev_file);
184184
out_free_bioset:
185185
bioset_exit(&ib_dev->ibd_bio_set);
186186
out:
@@ -205,8 +205,8 @@ static void iblock_destroy_device(struct se_device *dev)
205205
{
206206
struct iblock_dev *ib_dev = IBLOCK_DEV(dev);
207207

208-
if (ib_dev->ibd_bdev_handle)
209-
bdev_release(ib_dev->ibd_bdev_handle);
208+
if (ib_dev->ibd_bdev_file)
209+
fput(ib_dev->ibd_bdev_file);
210210
bioset_exit(&ib_dev->ibd_bio_set);
211211
}
212212

drivers/target/target_core_iblock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ struct iblock_dev {
3232
u32 ibd_flags;
3333
struct bio_set ibd_bio_set;
3434
struct block_device *ibd_bd;
35-
struct bdev_handle *ibd_bdev_handle;
35+
struct file *ibd_bdev_file;
3636
bool ibd_readonly;
3737
struct iblock_dev_plug *ibd_plug;
3838
} ____cacheline_aligned;

drivers/target/target_core_pscsi.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ static int pscsi_create_type_disk(struct se_device *dev, struct scsi_device *sd)
352352
struct pscsi_hba_virt *phv = dev->se_hba->hba_ptr;
353353
struct pscsi_dev_virt *pdv = PSCSI_DEV(dev);
354354
struct Scsi_Host *sh = sd->host;
355-
struct bdev_handle *bdev_handle;
355+
struct file *bdev_file;
356356
int ret;
357357

358358
if (scsi_device_get(sd)) {
@@ -366,18 +366,18 @@ static int pscsi_create_type_disk(struct se_device *dev, struct scsi_device *sd)
366366
* Claim exclusive struct block_device access to struct scsi_device
367367
* for TYPE_DISK and TYPE_ZBC using supplied udev_path
368368
*/
369-
bdev_handle = bdev_open_by_path(dev->udev_path,
369+
bdev_file = bdev_file_open_by_path(dev->udev_path,
370370
BLK_OPEN_WRITE | BLK_OPEN_READ, pdv, NULL);
371-
if (IS_ERR(bdev_handle)) {
371+
if (IS_ERR(bdev_file)) {
372372
pr_err("pSCSI: bdev_open_by_path() failed\n");
373373
scsi_device_put(sd);
374-
return PTR_ERR(bdev_handle);
374+
return PTR_ERR(bdev_file);
375375
}
376-
pdv->pdv_bdev_handle = bdev_handle;
376+
pdv->pdv_bdev_file = bdev_file;
377377

378378
ret = pscsi_add_device_to_list(dev, sd);
379379
if (ret) {
380-
bdev_release(bdev_handle);
380+
fput(bdev_file);
381381
scsi_device_put(sd);
382382
return ret;
383383
}
@@ -564,9 +564,9 @@ static void pscsi_destroy_device(struct se_device *dev)
564564
* from pscsi_create_type_disk()
565565
*/
566566
if ((sd->type == TYPE_DISK || sd->type == TYPE_ZBC) &&
567-
pdv->pdv_bdev_handle) {
568-
bdev_release(pdv->pdv_bdev_handle);
569-
pdv->pdv_bdev_handle = NULL;
567+
pdv->pdv_bdev_file) {
568+
fput(pdv->pdv_bdev_file);
569+
pdv->pdv_bdev_file = NULL;
570570
}
571571
/*
572572
* For HBA mode PHV_LLD_SCSI_HOST_NO, release the reference
@@ -994,8 +994,8 @@ static sector_t pscsi_get_blocks(struct se_device *dev)
994994
{
995995
struct pscsi_dev_virt *pdv = PSCSI_DEV(dev);
996996

997-
if (pdv->pdv_bdev_handle)
998-
return bdev_nr_sectors(pdv->pdv_bdev_handle->bdev);
997+
if (pdv->pdv_bdev_file)
998+
return bdev_nr_sectors(file_bdev(pdv->pdv_bdev_file));
999999
return 0;
10001000
}
10011001

drivers/target/target_core_pscsi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ struct pscsi_dev_virt {
3737
int pdv_channel_id;
3838
int pdv_target_id;
3939
int pdv_lun_id;
40-
struct bdev_handle *pdv_bdev_handle;
40+
struct file *pdv_bdev_file;
4141
struct scsi_device *pdv_sd;
4242
struct Scsi_Host *pdv_lld_host;
4343
} ____cacheline_aligned;

0 commit comments

Comments
 (0)