summaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_iblock.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-12-21 14:20:31 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2012-02-25 14:37:46 -0800
commitd5b4a21b3dc116b477c1b1b493233a73aacbb440 (patch)
treef11a6274442cb2e5a1ab6209661dbdd8969eb76e /drivers/target/target_core_iblock.h
parent6e315a066d7d1917f762d2f2a14e9a71a8656fea (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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/target_core_iblock.h b/drivers/target/target_core_iblock.h
index 300610417447..e929370b6fd3 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;