target: increase iblock task sizes
authorChristoph Hellwig <hch@infradead.org>
Wed, 21 Dec 2011 19:20:31 +0000 (14:20 -0500)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 25 Feb 2012 22:37:46 +0000 (14:37 -0800)
commitd5b4a21b3dc116b477c1b1b493233a73aacbb440
treef11a6274442cb2e5a1ab6209661dbdd8969eb76e
parent6e315a066d7d1917f762d2f2a14e9a71a8656fea
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>
drivers/target/target_core_iblock.c
drivers/target/target_core_iblock.h