mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
target: Use FD_MAX_SECTORS/FD_BLOCKSIZE for blockdevs using fileio
We can still see the error reported in https://patchwork.kernel.org/patch/2338981/ when using fileio backed by a block device. I'm assuming this will get us past that error (from sbc_parse_cdb), and also assuming it's OK to have our max_sectors be larger than the block's queue max hw sectors? Reported-by: Eric Harney <[email protected]> Signed-off-by: Andy Grover <[email protected]> Cc: <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
parent
2acd09f323
commit
e3e84cda32
1 changed files with 2 additions and 7 deletions
|
|
@ -153,10 +153,6 @@ static int fd_configure_device(struct se_device *dev)
|
|||
struct request_queue *q = bdev_get_queue(inode->i_bdev);
|
||||
unsigned long long dev_size;
|
||||
|
||||
dev->dev_attrib.hw_block_size =
|
||||
bdev_logical_block_size(inode->i_bdev);
|
||||
dev->dev_attrib.hw_max_sectors = queue_max_hw_sectors(q);
|
||||
|
||||
/*
|
||||
* Determine the number of bytes from i_size_read() minus
|
||||
* one (1) logical sector from underlying struct block_device
|
||||
|
|
@ -203,9 +199,6 @@ static int fd_configure_device(struct se_device *dev)
|
|||
goto fail;
|
||||
}
|
||||
|
||||
dev->dev_attrib.hw_block_size = FD_BLOCKSIZE;
|
||||
dev->dev_attrib.hw_max_sectors = FD_MAX_SECTORS;
|
||||
|
||||
/*
|
||||
* Limit UNMAP emulation to 8k Number of LBAs (NoLB)
|
||||
*/
|
||||
|
|
@ -226,6 +219,8 @@ static int fd_configure_device(struct se_device *dev)
|
|||
|
||||
fd_dev->fd_block_size = dev->dev_attrib.hw_block_size;
|
||||
|
||||
dev->dev_attrib.hw_block_size = FD_BLOCKSIZE;
|
||||
dev->dev_attrib.hw_max_sectors = FD_MAX_SECTORS;
|
||||
dev->dev_attrib.hw_queue_depth = FD_MAX_DEVICE_QUEUE_DEPTH;
|
||||
|
||||
if (fd_dev->fbd_flags & FDBD_HAS_BUFFERED_IO_WCE) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue