diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-12-21 14:20:31 -0500 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2012-02-25 14:37:46 -0800 |
commit | d5b4a21b3dc116b477c1b1b493233a73aacbb440 (patch) | |
tree | f11a6274442cb2e5a1ab6209661dbdd8969eb76e /drivers/target/target_core_iblock.h | |
parent | 6e315a066d7d1917f762d2f2a14e9a71a8656fea (diff) |
target: increase iblock task sizes
There is no real limit for task sizes in the iblock driver given that we
can chain bios. Increase the maximum size to UINT_MAX, and change the
code to submit bios in a smaller batch size to avoid deadlocks when
having more bios in flight than the pool supports. Also increase the
pool size to always allow multiple tasks to be in flight.
I also had to change the task refcounting to include one reference for
the submission task, which is a standard practice in this kind of code
in Linux (e.g. XFS I/O submission). This was wrong before, but couldn't
be hit easily.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_iblock.h')
-rw-r--r-- | drivers/target/target_core_iblock.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/target_core_iblock.h b/drivers/target/target_core_iblock.h index 30061041744..e929370b6fd 100644 --- a/drivers/target/target_core_iblock.h +++ b/drivers/target/target_core_iblock.h @@ -8,7 +8,7 @@ struct iblock_req { struct se_task ib_task; - atomic_t ib_bio_cnt; + atomic_t pending; atomic_t ib_bio_err_cnt; } ____cacheline_aligned; |