[dm-devel] [PATCH v2] dm table: do not allow queue limits that will exceed hardware limits
Alasdair G Kergon
agk at redhat.com
Mon Sep 17 20:24:04 UTC 2012
On Fri, Sep 14, 2012 at 04:41:33PM -0400, Mike Snitzer wrote:
> Add a safety net that will establish safe default limits, via
> blk_set_default_limits, in the event that a table temporarily doesn't
> have any component devices.
Under what circumstances is this a problem?
1) When a table part-way down a stack of devices is reloaded while bios
are already flowing through the upper parts.
- A general problem we're ignoring.
2) When queue_if_no_path is set, i/o is queued, a table is reloaded
with more restrictive limits than the i/o already in the system (that
gets pushed back).
a) There was not previously a table.
=> Use this patch to fix a better default limit?
- Needs an explanation why the limit is set in dm rather than block.
b) There was previously a table.
=> Retain the limits from that previous table as a better estimate
of what the limits might need to be, on the basis that disappeared
paths might reappear later.
- Needs a patch writing to do this.
- Does userspace need an option to reset this?
- Does it only apply if there is pushback?
- Does it apply in general to all target types if and only if there
is pushback?
- Or does it need a userspace flag to control whether or not it happens?
If queue_if_no_path is NOT set, there is no problem so neither case applies?
Alasdair
More information about the dm-devel
mailing list