mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
scsi: target: Add iblock configure_unmap callout
Move iblock's UNMAP setup code to a configure_unmap callout. Link: https://lore.kernel.org/r/20220628200230.15052-4-michael.christie@oracle.com Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
6b206a5a8c
commit
d7c382c51d
@ -76,6 +76,14 @@ free_dev:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static bool iblock_configure_unmap(struct se_device *dev)
|
||||
{
|
||||
struct iblock_dev *ib_dev = IBLOCK_DEV(dev);
|
||||
|
||||
return target_configure_unmap_from_queue(&dev->dev_attrib,
|
||||
ib_dev->ibd_bd);
|
||||
}
|
||||
|
||||
static int iblock_configure_device(struct se_device *dev)
|
||||
{
|
||||
struct iblock_dev *ib_dev = IBLOCK_DEV(dev);
|
||||
@ -119,10 +127,6 @@ static int iblock_configure_device(struct se_device *dev)
|
||||
dev->dev_attrib.hw_max_sectors = queue_max_hw_sectors(q);
|
||||
dev->dev_attrib.hw_queue_depth = q->nr_requests;
|
||||
|
||||
if (target_configure_unmap_from_queue(&dev->dev_attrib, bd))
|
||||
pr_debug("IBLOCK: BLOCK Discard support available,"
|
||||
" disabled by default\n");
|
||||
|
||||
/*
|
||||
* Enable write same emulation for IBLOCK and use 0xFFFF as
|
||||
* the smaller WRITE_SAME(10) only has a two-byte block count.
|
||||
@ -899,6 +903,7 @@ static const struct target_backend_ops iblock_ops = {
|
||||
.configure_device = iblock_configure_device,
|
||||
.destroy_device = iblock_destroy_device,
|
||||
.free_device = iblock_free_device,
|
||||
.configure_unmap = iblock_configure_unmap,
|
||||
.plug_device = iblock_plug_device,
|
||||
.unplug_device = iblock_unplug_device,
|
||||
.parse_cdb = iblock_parse_cdb,
|
||||
|
Loading…
Reference in New Issue
Block a user