RHEL6: dm-multipath issues separate flush request, leading to incorrect /proc/diskstats and iostat output for writes with open("DSYNC") flag

Solution Unverified - Updated -

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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.