<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Persistent Reservation issues in General</title>
    <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369276#M3813</link>
    <description>I don't pretend to completelyt understand this stuff but, here goes...&lt;BR /&gt;&lt;BR /&gt;Care to share what your C code is actually doing? From the notes you provided I'm *assuming* it is issuing an ioctl to the disk with the SIOC_SET_BUS_EXCL usage.&lt;BR /&gt;&lt;BR /&gt;Did you read the notes in /usr/include/sys/scsi.h relating to the use of these SIOC_*_EXCL ioctls in 11.31?&lt;BR /&gt;&lt;BR /&gt;Specifically that for target and bus exclusive requests on new agile DSFs will have changed behaviour, and will eventually be deprecated in favour of lun exclusive modes only.&lt;BR /&gt;&lt;BR /&gt;Incidentally what happens if you issue the reservation request to an old legacy DSF instead of the new agile DSF? Do you get consistent behaviour then?&lt;BR /&gt;&lt;BR /&gt;HTH&lt;BR /&gt;&lt;BR /&gt;Duncan</description>
    <pubDate>Mon, 02 Mar 2009 08:16:28 GMT</pubDate>
    <dc:creator>Duncan Edmonstone</dc:creator>
    <dc:date>2009-03-02T08:16:28Z</dc:date>
    <item>
      <title>Persistent Reservation issues</title>
      <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369275#M3812</link>
      <description>On HP-UX 11.31, we have two nodes which share two LUNs:&lt;BR /&gt;    [vega8087{root}:/home/jphui/temp]&amp;gt;ioscan -m lun /dev/rdisk/disk32&lt;BR /&gt;    Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description&lt;BR /&gt;    ======================================================================&lt;BR /&gt;    disk     32  64000/0xfa00/0xc   esdisk  CLAIMED     DEVICE       online  HP      HSV210&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e68.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e69.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6a.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6b.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6e.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6c.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6f.0x4001000000000000&lt;BR /&gt;                 0/4/1/1.0x50001fe150102e6d.0x4001000000000000&lt;BR /&gt;                          /dev/disk/disk32   /dev/rdisk/disk32&lt;BR /&gt;    [vega8087{root}:/home/jphui/temp]&amp;gt;ioscan -m lun /dev/rdisk/disk42&lt;BR /&gt;    Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description&lt;BR /&gt;    ======================================================================&lt;BR /&gt;    disk     42  64000/0xfa00/0x13   esdisk  CLAIMED     DEVICE       online  COMPAQ  MSA1000 VOLUME&lt;BR /&gt;                 0/4/1/0.0x500805f300120051.0x1000000000000&lt;BR /&gt;                          /dev/disk/disk42   /dev/rdisk/disk42&lt;BR /&gt;&lt;BR /&gt;We wrote a C program to issue "PERSISTENT IN" and "PERSISTENT OUT" by IOCTL to reserve the LUN.&lt;BR /&gt;&lt;BR /&gt;Below are some behavior in the test:&lt;BR /&gt;1. If we reserved the shared LUNs on 1 node with the reservation type 5(Write Exclusive - Registrants&lt;BR /&gt;   Only), the command "diskinfo" on the other node will not get the correct information:&lt;BR /&gt;    [vega8097{root}:/home/jphui/temp]&amp;gt;diskinfo /dev/rdisk/disk42&lt;BR /&gt;    SCSI describe of /dev/rdisk/disk42:&lt;BR /&gt;                 vendor: COMPAQ&lt;BR /&gt;             product id: MSA1000 VOLUME&lt;BR /&gt;                   type: direct access&lt;BR /&gt;                   size: 0 Kbytes                   &amp;lt;=== This value is not correct&lt;BR /&gt;       bytes per sector: 0                          &amp;lt;=== This value is not correct&lt;BR /&gt;&lt;BR /&gt;   The command will get successful if this node also reserved the shared LUNs. Looks this is a little&lt;BR /&gt;   different with the behavior on HP-UX 11.23. On HP-UX 11.23, we can get the information correctly&lt;BR /&gt;   although the other node has reserved the LUN.&lt;BR /&gt;   &lt;BR /&gt;   I'm wondering if this is the expected behavior on HP-UX 11.31. If so, how can we make the 2nd node&lt;BR /&gt;   to show the correct information while running "diskinfo"? Is there any special system command to run to&lt;BR /&gt;   register the 2nd node?&lt;BR /&gt;   &lt;BR /&gt;2. If we run our C program to reserve the LUN /dev/rdisk/disk42, it will always succeed. But if we run   &lt;BR /&gt;   the program to reserve the LUN /dev/rdisk/disk32, it will fail with "Reservation Conflict". If we &lt;BR /&gt;   try to run the program continuously, it will succeed after couples of runs. Looks this is strange.&lt;BR /&gt;   I checked the information of two LUNs:&lt;BR /&gt;  [vega8087{root}:/home/jphui/temp]&amp;gt;scsimgr get_info -D /dev/rdisk/disk32&lt;BR /&gt;  &lt;BR /&gt;          STATUS INFORMATION FOR LUN : /dev/rdisk/disk32&lt;BR /&gt;  &lt;BR /&gt;  Generic Status Information&lt;BR /&gt;  &lt;BR /&gt;  SCSI services internal state                  = UNOPEN&lt;BR /&gt;  Device type                                   = Direct_Access&lt;BR /&gt;  EVPD page 0x83 description code               = 1&lt;BR /&gt;  EVPD page 0x83 description association        = 0&lt;BR /&gt;  EVPD page 0x83 description type               = 3&lt;BR /&gt;  World Wide Identifier (WWID)                  = 0x600508b40006a8ff0001200000080000&lt;BR /&gt;  Serial number                                 = "PBA23D99SV309F"&lt;BR /&gt;  Vendor id                                     = "HP      "&lt;BR /&gt;  Product id                                    = "HSV210          "&lt;BR /&gt;  Product revision                              = "6110"&lt;BR /&gt;  Other properties                              = ""&lt;BR /&gt;  SPC protocol revision                         = 2&lt;BR /&gt;  Open count (includes chr/blk/pass-thru/class) = 0&lt;BR /&gt;  Raw open count (includes class/pass-thru)     = 0&lt;BR /&gt;  Pass-thru opens                               = 0&lt;BR /&gt;  LUN path count                                = 8&lt;BR /&gt;  Active LUN paths                              = 4&lt;BR /&gt;  Standby LUN paths                             = 4&lt;BR /&gt;  Failed LUN paths                              = 0&lt;BR /&gt;  Maximum I/O size allowed                      = 2097152&lt;BR /&gt;  Preferred I/O size                            = 2097152&lt;BR /&gt;  Outstanding I/Os                              = 0&lt;BR /&gt;  I/O load balance policy                       = round_robin&lt;BR /&gt;  Path fail threshold time period               = 0&lt;BR /&gt;  Transient time period                         = 120&lt;BR /&gt;  Tracing buffer size                           = 1024&lt;BR /&gt;  LUN Path used when policy is path_lockdown    = NA&lt;BR /&gt;  LUN access type                               = T10 Asymmetric Active-Active&lt;BR /&gt;  Asymmetric logical unit access supported      = Both implicit and explicit&lt;BR /&gt;  Asymmetric states supported                   = ao_sup, an_sup&lt;BR /&gt;  Preferred paths reported by device            = Yes&lt;BR /&gt;  Preferred LUN paths                           = 0&lt;BR /&gt;  &lt;BR /&gt;  Driver esdisk Status Information :&lt;BR /&gt;  &lt;BR /&gt;  Capacity in number of blocks                      = 209715200&lt;BR /&gt;  Block size in bytes                               = 512&lt;BR /&gt;  Number of active IOs                              = 0&lt;BR /&gt;  Special properties                                =&lt;BR /&gt;  Maximum number of IO retries                      = 45&lt;BR /&gt;  IO transfer timeout in secs                       = 30&lt;BR /&gt;  FORMAT command timeout in secs                    = 86400&lt;BR /&gt;  START UNIT command timeout in secs                = 60&lt;BR /&gt;  Timeout in secs before starting failing IO        = 120&lt;BR /&gt;  IO infinite retries                               = false&lt;BR /&gt;  [vega8087{root}:/home/jphui/temp]&amp;gt;scsimgr get_info -D /dev/rdisk/disk42&lt;BR /&gt;  &lt;BR /&gt;          STATUS INFORMATION FOR LUN : /dev/rdisk/disk42&lt;BR /&gt;  &lt;BR /&gt;  Generic Status Information&lt;BR /&gt;  &lt;BR /&gt;  SCSI services internal state                  = UNOPEN&lt;BR /&gt;  Device type                                   = Direct_Access&lt;BR /&gt;  EVPD page 0x83 description code               = 1&lt;BR /&gt;  EVPD page 0x83 description association        = 0&lt;BR /&gt;  EVPD page 0x83 description type               = 3&lt;BR /&gt;  World Wide Identifier (WWID)                  = 0x600805f300120050ac370fb176b40009&lt;BR /&gt;  Serial number                                 = "P56350GX3QZ01J"&lt;BR /&gt;  Vendor id                                     = "COMPAQ  "&lt;BR /&gt;  Product id                                    = "MSA1000 VOLUME  "&lt;BR /&gt;  Product revision                              = "4.32"&lt;BR /&gt;  Other properties                              = ""&lt;BR /&gt;  SPC protocol revision                         = 4&lt;BR /&gt;  Open count (includes chr/blk/pass-thru/class) = 0&lt;BR /&gt;  Raw open count (includes class/pass-thru)     = 0&lt;BR /&gt;  Pass-thru opens                               = 0&lt;BR /&gt;  LUN path count                                = 1&lt;BR /&gt;  Active LUN paths                              = 1&lt;BR /&gt;  Standby LUN paths                             = 0&lt;BR /&gt;  Failed LUN paths                              = 0&lt;BR /&gt;  Maximum I/O size allowed                      = 2097152&lt;BR /&gt;  Preferred I/O size                            = 2097152&lt;BR /&gt;  Outstanding I/Os                              = 0&lt;BR /&gt;  I/O load balance policy                       = round_robin&lt;BR /&gt;  Path fail threshold time period               = 0&lt;BR /&gt;  Transient time period                         = 120&lt;BR /&gt;  Tracing buffer size                           = 1024&lt;BR /&gt;  LUN Path used when policy is path_lockdown    = NA&lt;BR /&gt;  LUN access type                               = NA&lt;BR /&gt;  Asymmetric logical unit access supported      = No&lt;BR /&gt;  Asymmetric states supported                   = NA&lt;BR /&gt;  Preferred paths reported by device            = No&lt;BR /&gt;  Preferred LUN paths                           = 0&lt;BR /&gt;  &lt;BR /&gt;  Driver esdisk Status Information :&lt;BR /&gt;  &lt;BR /&gt;  Capacity in number of blocks                      = 204799680&lt;BR /&gt;  Block size in bytes                               = 512&lt;BR /&gt;  Number of active IOs                              = 0&lt;BR /&gt;  Special properties                                =&lt;BR /&gt;  Maximum number of IO retries                      = 45&lt;BR /&gt;  IO transfer timeout in secs                       = 30&lt;BR /&gt;  FORMAT command timeout in secs                    = 86400&lt;BR /&gt;  START UNIT command timeout in secs                = 60&lt;BR /&gt;  Timeout in secs before starting failing IO        = 120&lt;BR /&gt;  IO infinite retries                               = false&lt;BR /&gt;   &lt;BR /&gt;   Looks there are some differences except for the disk vendor related information:&lt;BR /&gt;   (1) SPC protocol version&lt;BR /&gt;       The value of /dev/rdisk/disk32 is:&lt;BR /&gt;         SPC protocol revision                         = 2&lt;BR /&gt;&lt;BR /&gt;       The value of /dev/rdisk/disk42 is:&lt;BR /&gt;         SPC protocol revision                         = 4&lt;BR /&gt;   (2) LUN path&lt;BR /&gt;       The values of /dev/rdisk/disk32 is:&lt;BR /&gt;      LUN path count                                = 8&lt;BR /&gt;      Active LUN paths                              = 4&lt;BR /&gt;      Standby LUN paths                             = 4&lt;BR /&gt;       The values of /dev/rdisk/disk42 is:&lt;BR /&gt;      LUN path count                                = 1&lt;BR /&gt;      Active LUN paths                              = 1&lt;BR /&gt;      Standby LUN paths                             = 0&lt;BR /&gt;   &lt;BR /&gt;    I'm not sure which difference affected our reservation process. Any comments here?  &lt;BR /&gt;    &lt;BR /&gt;Would you please help to give some suggestions on the above two questions? Appreciate for&lt;BR /&gt;your helps in advance.                            &lt;BR /&gt;</description>
      <pubDate>Mon, 02 Mar 2009 07:26:58 GMT</pubDate>
      <guid>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369275#M3812</guid>
      <dc:creator>Jian-ping Hui</dc:creator>
      <dc:date>2009-03-02T07:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: Persistent Reservation issues</title>
      <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369276#M3813</link>
      <description>I don't pretend to completelyt understand this stuff but, here goes...&lt;BR /&gt;&lt;BR /&gt;Care to share what your C code is actually doing? From the notes you provided I'm *assuming* it is issuing an ioctl to the disk with the SIOC_SET_BUS_EXCL usage.&lt;BR /&gt;&lt;BR /&gt;Did you read the notes in /usr/include/sys/scsi.h relating to the use of these SIOC_*_EXCL ioctls in 11.31?&lt;BR /&gt;&lt;BR /&gt;Specifically that for target and bus exclusive requests on new agile DSFs will have changed behaviour, and will eventually be deprecated in favour of lun exclusive modes only.&lt;BR /&gt;&lt;BR /&gt;Incidentally what happens if you issue the reservation request to an old legacy DSF instead of the new agile DSF? Do you get consistent behaviour then?&lt;BR /&gt;&lt;BR /&gt;HTH&lt;BR /&gt;&lt;BR /&gt;Duncan</description>
      <pubDate>Mon, 02 Mar 2009 08:16:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369276#M3813</guid>
      <dc:creator>Duncan Edmonstone</dc:creator>
      <dc:date>2009-03-02T08:16:28Z</dc:date>
    </item>
    <item>
      <title>Re: Persistent Reservation issues</title>
      <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369277#M3814</link>
      <description>Really thank you for the quick response, Duncan. &lt;BR /&gt;&lt;BR /&gt;Yes, I've tried on the old legacy dsf with the same command. I can see the same error. Their behaviors are consistent.&lt;BR /&gt;&lt;BR /&gt;In my C program, I do:&lt;BR /&gt;1. Open the device like /dev/rdisk/disk32.&lt;BR /&gt;2. Set the flag SIOC_SET_BUS_EXCL by the call&lt;BR /&gt;    ioctl(fd, SIOC_EXCLUSIVE, &amp;amp;flag);&lt;BR /&gt;3. Register the node to the LUN by issuing "Persistent OUT" command with "REGISTER" by iotcl to the device.&lt;BR /&gt;    ...&lt;BR /&gt;    ioctl(fd, SIOC_IO, &amp;amp;io)&lt;BR /&gt;4. Reserve the LUN by issuing "Persistent OUT" command with "RESERVE" by ioctl to the device.&lt;BR /&gt;    ...&lt;BR /&gt;    ioctl(fd, SIOC_IO, &amp;amp;io)&lt;BR /&gt;5. Set the flag SIOC_REL_BUG_EXCL by the call&lt;BR /&gt;     ioctl(fd, SIOC_EXCLUSIVE, &amp;amp;flag);&lt;BR /&gt;6. Close the device.&lt;BR /&gt;&lt;BR /&gt;Thanks again.&lt;BR /&gt;</description>
      <pubDate>Mon, 02 Mar 2009 08:49:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369277#M3814</guid>
      <dc:creator>Jian-ping Hui</dc:creator>
      <dc:date>2009-03-02T08:49:17Z</dc:date>
    </item>
    <item>
      <title>Re: Persistent Reservation issues</title>
      <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369278#M3815</link>
      <description>So as I said, did you see the following in scsi.h:&lt;BR /&gt;&lt;BR /&gt;/*&lt;BR /&gt; * Definition of SIOC_EXCLUSIVE requests&lt;BR /&gt; * In 11.31 all these requests will be supported when issued on a legacy&lt;BR /&gt; * device file.&lt;BR /&gt; * In 11.31 and onwards all below exclusive requests will be supported&lt;BR /&gt; * but there will be change in behaviour for target and bus exclusive&lt;BR /&gt; * requests on new style dev_t. The will result in setting/unsetting&lt;BR /&gt; * of lun exclusive mode.&lt;BR /&gt; * Post 11.31 only setting/unsetting of lun exclusive mode will be supported  */&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Also remember that issuing the ioctl to the agile or legacy DSF could result in the ioctl going down any of the LUN paths. Associated with the device. To send the IO to a specific path you'd have to set leg_mpath_enable to 0 for that LUN. This is different to 11iv2, where unless you have some sort of MPIO like HP Secure Path or EMC PowerPath installed, the ioctl will always be issue down the path specified by the DSF. I think you need to carefully read the man page for sioc_io(7)&lt;BR /&gt;&lt;BR /&gt;HTH&lt;BR /&gt;&lt;BR /&gt;Duncan</description>
      <pubDate>Mon, 02 Mar 2009 11:48:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369278#M3815</guid>
      <dc:creator>Duncan Edmonstone</dc:creator>
      <dc:date>2009-03-02T11:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: Persistent Reservation issues</title>
      <link>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369279#M3816</link>
      <description>On similar topic, I want to know, whether&lt;BR /&gt;HPUX uses the following obsolete Persistent Reservation types:&lt;BR /&gt;&lt;BR /&gt;READ SHARED(0h), READ EXCLUSIVE(2h), SHARED ACCESS (4h)&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Apr 2009 07:52:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/general/persistent-reservation-issues/m-p/4369279#M3816</guid>
      <dc:creator>Pradeep Dubey</dc:creator>
      <dc:date>2009-04-13T07:52:42Z</dc:date>
    </item>
  </channel>
</rss>

