RHEL6: dm-multipath issues separate flush request, leading to incorrect /proc/diskstats and iostat output for writes with open("DSYNC") flag
Issue
- Single write to raw device using 'dd' with 'oflag=dsync' results in multiple block requests
- iostat output shows incorrect avgrq-sz for direct writes
- RHEL5 does not exhibit this behavior
Environment
- Red Hat Enterprise Linux 6
- 2.6.32-131.4.1.el6.x86_64
- device-mapper-multipath-0.4.9-41.el6.x86_64
-
Storage configuration
-
Single raw device -> dm-mp -> 2 paths to iSCSI LUN
# raw -qa /dev/raw/raw1: bound to major 253, minor 2 # dmsetup ls --tree | grep -A 3 '253:2' mpathj (253:2) ├─ (8:16) └─ (8:0) # multipath -ll | grep -A 4 'dm-2' mpathj (360a980006e424b626d3464766a784f65) dm-2 NETAPP,LUN size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=2 status=active |- 2:0:0:0 sda 8:0 active ready running `- 3:0:0:0 sdb 8:16 active ready running
-
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.