[dm-devel] dm: disable WRITE SAME if it fails

alex chen alex.chen at huawei.com
Thu Jun 5 01:52:37 UTC 2014


On 2014/6/4 21:52, Mike Snitzer wrote:
> On Wed, Jun 04 2014 at 12:03am -0400,
> alex chen <alex.chen at huawei.com> wrote:
> 
>> On 2014/6/3 2:36, Mike Snitzer wrote:
>>> On Sat, May 31 2014 at 11:05am -0400,
>>> Alasdair G Kergon <agk at redhat.com> wrote:
>>>
>>>> On Sat, May 31, 2014 at 04:51:30PM +0800, alex chen wrote:
>>>>> The original commit f84cb8a46a771f36a04a02c61ea635c968ed5f6a("dm mpath:
>>>>> disable WRITE SAME if it fails") disables WRITE SAME in the DM multipath
>>>>> device if it fails, but when the DM linear device stacks ontop of the
>>>>> multipath device it doesn't help.
>>>>> this patch adds DM linear end_io method to catch WRITE SAME errors and
>>>>> disables WRITE SAME in the DM linear device's queue_limits if an
>>>>> underlying device disables it.
>>>>
>>>> How does your patch address striped targets?
>>>>  
>>>> Shouldn't this code be taken out of mpath and moved to dm.c and applied to all
>>>> targets (both bio and rq-based, at least where WRITE SAME is supported)?
>>>
>>> Alex,
>>>
>>> I've implemented what Alasdair and I have been suggesting.
>>> Can you please test this untested patch?
>>>
>>> Thanks,
>>> Mike
>>>
>>
>> I tested this patch, it is OK.
>> Test cases is as follow:
>> CASE 1:
>> dm linear device(dm-23): ocfs2-fs;
>> multipath device(dm-9);
>> scsi device(sdr,sdv);
>>
>> After WRITE SAME IO fails:
>> linux-MOLybD:~ # cat /sys/block/dm-23/queue/write_same_max_bytes
>> 0
>> linux-MOLybD:~ # cat /sys/block/dm-9/queue/write_same_max_bytes
>> 0
>> linux-MOLybD:~ # cat /sys/block/sdr/queue/write_same_max_bytes
>> 0
>> linux-MOLybD:~ # cat /sys/block/sdv/queue/write_same_max_bytes
>> 0
>>
>> Result: pass
>>
>> Tested-by: Alex Chen <alex.chen at huawei.com>
> 
> OK, thanks.. FYI, as I sahred before: I updated it slightly to check for
> the specific -EREMOTEIO error code that SCSI returns for this case, see:
> 
> https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=for-next&id=7eee4ae2dbb2be0a15a4406718806e48b18ba831
> 

OK,I've tested the new patch, the result was also pass.

> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
> 
> .
> 




More information about the dm-devel mailing list