[dm-devel] [PATCH v2] dm ioctl: allow change device target type to error

Joe Jin joe.jin at oracle.com
Thu Aug 22 02:40:08 UTC 2013


On 08/21/13 23:06, Mike Snitzer wrote:
> On Wed, Aug 21 2013 at 10:48am -0400,
> Mikulas Patocka <mpatocka at redhat.com> wrote:
> 
>>
>>
>> On Wed, 21 Aug 2013, Joe Jin wrote:
>>
>>> commit a5664da "dm ioctl: make bio or request based device type immutable"
>>> prevented "dmsetup wape_table" change the target type to "error".
>>
>> That commit a5664da is there for a reason (it is not possible to change 
>> bio-based device to request-based and vice versa) and I don't really see 
>> how this patch is supposed to work.
>>
>> If there are bios that are in flight and that already passed through 
>> blk_queue_bio, and you change the device from request-based to bio-based, 
>> what are you going to do with them? - The patch doesn't do anything about 
>> it.
>>
>> A better approach would be to create a new request-based target "error-rq" 
>> and change the multipath target to "error-rq" target. That way, you don't 
>> have to change device type from request based to bio based.
> 
> My thoughts _exactly_.  This patch is very confused.
> 
> Joe, what are you looking to be able to do?  Switch a dm-multipath
> device to error?  Or allowing switching a target that has
> DM_TARGET_IMMUTABLE flag set to be switched to error target?
> 
> The latter restriction was introduced with commit 36a0456fb ("dm table:
> add immutable feature").

Hi Mike,

So far dmsetup support wipe_table:
https://bugzilla.redhat.com/show_bug.cgi?id=742607
As description in the bug Doc Text, "This could be useful, for example, 
if a long-running process keeps a device open after it has finished using
it and you need to release the underlying devices before that process exits."

After apply the commit, wipe_table no long works.

Thanks,
Joe




More information about the dm-devel mailing list