<?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: Detecting devices in Mount Verify Timeout from DCL in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108520#M87407</link>
    <description>This still leaves the question of detecting a mount verify TIMEOUT ... so far I'm not finding the right combination of search parameters to pop up where that status can be gotten.</description>
    <pubDate>Tue, 27 Nov 2007 18:41:31 GMT</pubDate>
    <dc:creator>Robert_Boyd</dc:creator>
    <dc:date>2007-11-27T18:41:31Z</dc:date>
    <item>
      <title>Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108517#M87404</link>
      <description>I would like to enhance some DCL procedures to detect that certain disks have landed in mount verify timeout when a cluster node is rebooting.&lt;BR /&gt;&lt;BR /&gt;I'm not sure where this information is available.   There doesn't seem to be an item code for F$GETDVI that will return T/F for this condition.&lt;BR /&gt;&lt;BR /&gt;It would also be nice to have an item code for determining that a device has entered mount verification.  &lt;BR /&gt;&lt;BR /&gt;Is there a bit/field in the device dependent characteristics that has this info?&lt;BR /&gt;&lt;BR /&gt;I dug around in the I/O manual some but it's not jumping out at me.  Where should I be looking?  I'm sure that it's in the system data structures in the volume control block.  I just want to know how to get it from DCL without having to search the output of the SHOW DEVICE command.&lt;BR /&gt;&lt;BR /&gt;Thanks for any feedback,&lt;BR /&gt;&lt;BR /&gt;Robert</description>
      <pubDate>Tue, 27 Nov 2007 18:05:09 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108517#M87404</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-27T18:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108518#M87405</link>
      <description>When searching the system service ref manual for "Mount verification" it is found under $GETDVI as:&lt;BR /&gt;&lt;BR /&gt;UCB$V_MNTVERIP : Mount verification is in progress.&lt;BR /&gt;&lt;BR /&gt;This is under DVI$_STS for which the bits are indicated to be defined in $UCBDEF.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$ pipe libr /extr=$ucbdef/out=sys$output sys$library:lib.mlb | search sys$pipe MNTVER&lt;BR /&gt;$EQU    UCB$M_MNTVERIP  &amp;lt;^X4000&amp;gt;&lt;BR /&gt;$EQU    UCB$V_MNTVERIP  14&lt;BR /&gt;&lt;BR /&gt;$ sts = f$getdvi("sys$disk","sts")&lt;BR /&gt;$ show symb sts&lt;BR /&gt;  STS = 134350864   Hex = 08020810&lt;BR /&gt;&lt;BR /&gt;So you can use STS.AND.%x4000 or extract bit # 14&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Hein.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 27 Nov 2007 18:24:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108518#M87405</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2007-11-27T18:24:43Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108519#M87406</link>
      <description>Whoohoo!  Thanks Hein!&lt;BR /&gt;&lt;BR /&gt;Robert</description>
      <pubDate>Tue, 27 Nov 2007 18:31:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108519#M87406</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-27T18:31:25Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108520#M87407</link>
      <description>This still leaves the question of detecting a mount verify TIMEOUT ... so far I'm not finding the right combination of search parameters to pop up where that status can be gotten.</description>
      <pubDate>Tue, 27 Nov 2007 18:41:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108520#M87407</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-27T18:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108521#M87408</link>
      <description>Robert,&lt;BR /&gt;&lt;BR /&gt;  There is a $GETDVI item MOUNTVER_ELIGIBLE. If that's false there's no point in looking any further.&lt;BR /&gt;&lt;BR /&gt;  $GETDVI item STS returns the status longword. I think you can determine the complete MV status from bits UCB$V_MNTVERIP, UCB$V_MNTVERPND, UCB$V_TIMOUT and UCB$V_WRONGVOL (there are a few other obscure bits releated to MV which may also be of interest, see SSRM under $GETDVI for more details).&lt;BR /&gt;    &lt;BR /&gt;  If all else fails, since SHOW DEVICE can display the state, it must be in there somewhere! Maybe get your hands on the source listings for SHOW to see how it's done?</description>
      <pubDate>Tue, 27 Nov 2007 18:47:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108521#M87408</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2007-11-27T18:47:17Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108522#M87409</link>
      <description>one day I'll get in front of Hein when we collide ;-)</description>
      <pubDate>Tue, 27 Nov 2007 18:49:18 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108522#M87409</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2007-11-27T18:49:18Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108523#M87410</link>
      <description>What $ SHOW DEVICE indicates as "mount verify timeout" is a collection of states, all of which must be true for a device to be considered timed out of mount verification&lt;BR /&gt;&lt;BR /&gt;1) device is mounted&lt;BR /&gt;2) device not in mount verification&lt;BR /&gt;3) ucb$v_valid bit is clear&lt;BR /&gt;&lt;BR /&gt;Note that virtually all disks will return&lt;BR /&gt;TRUE for the MOUNTVER_ELIGIBLE item code.&lt;BR /&gt;&lt;BR /&gt;Among the few that will return FALSE are&lt;BR /&gt;devices mounted /NOMOUNTVERIFY and foreign-mounted devices.  Of course, an unmounted device will return FALSE, but that's not a particularly interesting case.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- Rob</description>
      <pubDate>Wed, 28 Nov 2007 00:25:06 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108523#M87410</guid>
      <dc:creator>Robert Brooks_1</dc:creator>
      <dc:date>2007-11-28T00:25:06Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108524#M87411</link>
      <description>One update on this:  on V8.3 Alpha I tested putting a disk into mvtimeout -- and MOUNTVER_ELIGIBLE went from T to F after it went into the timeout condition.&lt;BR /&gt;&lt;BR /&gt;This kinda throws a wrench in the discussion so far.&lt;BR /&gt;&lt;BR /&gt;And what DOES this flag really stand for?  Is it actually the bit that tells when MVTIMEOUT has occurred?&lt;BR /&gt;</description>
      <pubDate>Wed, 28 Nov 2007 11:40:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108524#M87411</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-28T11:40:25Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108525#M87412</link>
      <description>Robert,&lt;BR /&gt;&lt;BR /&gt;DVI$_MOUNTVER_ELIGIBLE reflects the status of the vcb$v_mountver bit in the VCB (Volume Control Block) of a mounted disk.&lt;BR /&gt;&lt;BR /&gt;from [SYS]MOUNTVER&lt;BR /&gt;&lt;BR /&gt;'the MOUNTVER bit is cleared when mount verification aborts, whether due to a timeout or due to execution of a DISMOUNT /ABORT command.'&lt;BR /&gt;&lt;BR /&gt;Volker.</description>
      <pubDate>Wed, 28 Nov 2007 12:36:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108525#M87412</guid>
      <dc:creator>Volker Halle</dc:creator>
      <dc:date>2007-11-28T12:36:27Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108526#M87413</link>
      <description>&lt;!--!*#--&gt;Here's the 1st fragment of code I wrote:&lt;BR /&gt;&lt;BR /&gt;$        pipe show device 'device_name' | search sys$pipe mntverifytimeout ; -&lt;BR /&gt;       x = f$message($status,"IDENT").nes."%NOMATCHES" ; -&lt;BR /&gt;        define/job/nolog 'device_name'_mvtimeout &amp;amp;x&lt;BR /&gt;$       mvtest = f$trnlnm(device_name+"_mvtimeout","LNM$JOB")&lt;BR /&gt;&lt;BR /&gt;I rewrote my subroutine to check for device available and ready to mount using the research everyone contributed:&lt;BR /&gt;&lt;BR /&gt;$!&lt;BR /&gt;$! Poll:        subroutine to poll to see if a particular drive comes online&lt;BR /&gt;$!      Parameters&lt;BR /&gt;$!      p1      device name&lt;BR /&gt;$!      p2      label&lt;BR /&gt;$!      p3      poll count&lt;BR /&gt;$!      p4      symbol to return status&lt;BR /&gt;$!      p5      extra mount qualifiers&lt;BR /&gt;$!&lt;BR /&gt;$POLL: subroutine&lt;BR /&gt;$  set noon&lt;BR /&gt;$  device = p1&lt;BR /&gt;$  device_name = f$element(0,":",device)&lt;BR /&gt;$  volume_label == f$element(1,":",device)&lt;BR /&gt;$  wait_interval = p2&lt;BR /&gt;$  if wait_interval .eqs. "" then $ wait_interval = "0:0:1.0"&lt;BR /&gt;$  poll_cnt = 'p3'&lt;BR /&gt;$  if poll_cnt .eqs."" then $ poll_cnt = 60&lt;BR /&gt;$  status_sym = p4&lt;BR /&gt;$  mount_quals = p5&lt;BR /&gt;$  'status_sym' == 0&lt;BR /&gt;$!&lt;BR /&gt;$  poll_begin = f$time()&lt;BR /&gt;$POLL_LOOP:&lt;BR /&gt;$  if poll_cnt .lt. 'p3'&lt;BR /&gt;$  then&lt;BR /&gt;$       if poll_cnt .eq. 'p3'-1&lt;BR /&gt;$       then&lt;BR /&gt;$         say "***"&lt;BR /&gt;$         say "* Waiting for Device ",device_name," ( ",volume_label," ) "&lt;BR /&gt;$         say "* ",f$time()&lt;BR /&gt;$         say "***"&lt;BR /&gt;$       endif&lt;BR /&gt;$  endif&lt;BR /&gt;$  if poll_cnt.gt.0&lt;BR /&gt;$  then! keep trying&lt;BR /&gt;$    poll_cnt = poll_cnt - 1&lt;BR /&gt;$    IF F$GETDVI(device_name,"EXISTS")&lt;BR /&gt;$    THEN ! device exists&lt;BR /&gt;$       if .not. f$GETDVI(device_name,"MNT")&lt;BR /&gt;$       then&lt;BR /&gt;$         if .not. ( f$getdvi(device_name,"HOST_AVAIL") .or. -&lt;BR /&gt;                        f$getdvi(device_name,"ALT_HOST_AVAIL") )&lt;BR /&gt;$         then  ! neither primary nor secondary host is available&lt;BR /&gt;$               wait 'wait_interval'&lt;BR /&gt;$               goto POLL_LOOP  ! wait and retry&lt;BR /&gt;$         endif ! no host available&lt;BR /&gt;$         if volume_label .eqs. ""&lt;BR /&gt;$         then ! try to get the label from the drive&lt;BR /&gt;$               mount/override 'device_name':&lt;BR /&gt;$               volume_label = f$getdvi(device_name,"volnam")&lt;BR /&gt;$               dismount 'device_name':&lt;BR /&gt;$         endif ! get the label from the drive&lt;BR /&gt;$         if poll_cnt.lt. 'p3'-1&lt;BR /&gt;$         then ! show how long we waited&lt;BR /&gt;$           wait_time = f$delta_time(poll_begin,f$time())&lt;BR /&gt;$           say "***"&lt;BR /&gt;$           say "* Waited ",wait_time," for ",device_name," to come online."&lt;BR /&gt;$           say "* ",f$time()&lt;BR /&gt;$           say "***"&lt;BR /&gt;$         endif! show how long we waited&lt;BR /&gt;$         MOUNT/SYSTEM/NOASSIST 'device_name': 'volume_label''mount_quals'&lt;BR /&gt;$       else ! the device is mounted, test for mvtimeout&lt;BR /&gt;$&lt;BR /&gt;$         show device 'device_name'&lt;BR /&gt;$         mvtimeout = .not.f$getdvi(device_name,"MOUNTVER_ELIGIBLE")&lt;BR /&gt;$         if mvtimeout&lt;BR /&gt;$         then ! mount verification timed out -- dismount it to reset&lt;BR /&gt;$               say "***"&lt;BR /&gt;$               say "* Device ",device_name," timed out mount verification, dismounting "&lt;BR /&gt;$               say "***"&lt;BR /&gt;$               dismount/abort/override=check 'device_name'&lt;BR /&gt;$               goto POLL_LOOP ! retry the mount&lt;BR /&gt;$         endif! mount verification timed out&lt;BR /&gt;$!&lt;BR /&gt;$       endif&lt;BR /&gt;$       'status_sym' == $status&lt;BR /&gt;$    ELSE ! device doesn't exist yet -- wait for it to show up&lt;BR /&gt;$         WAIT 'wait_interval'&lt;BR /&gt;$         GOTO POLL_LOOP&lt;BR /&gt;$    ENDIF&lt;BR /&gt;$  else ! give up -- the device never became available -- move on to the next one&lt;BR /&gt;$         say "***"&lt;BR /&gt;$         say "* Device ",device_name," ( ",volume_label," ) is not available -- continuing "&lt;BR /&gt;$         say "* ",f$time()&lt;BR /&gt;$         say "***"&lt;BR /&gt;$  endif! keep trying/give up&lt;BR /&gt;$!&lt;BR /&gt;$POLL_END:&lt;BR /&gt;$endsubroutine&lt;BR /&gt;</description>
      <pubDate>Wed, 28 Nov 2007 13:49:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108526#M87413</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-28T13:49:17Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108527#M87414</link>
      <description>&lt;!--!*#--&gt;Here's some alternative DCL for determining if disk 'p1' is in mount verification:&lt;BR /&gt;&lt;BR /&gt;$! $ pipe lib/extr=$ucbdef/out=sys$output: sys$share:lib.mlb | - &lt;BR /&gt;$! _$ sear sys$pipe m_valid,m_mnt &lt;BR /&gt;$! $EQU    UCB$M_VALID     &amp;lt;^X800&amp;gt; &lt;BR /&gt;$! $EQU    UCB$M_MNTVERIP  &amp;lt;^X4000&amp;gt; &lt;BR /&gt;$! $ pipe lib/extr=$devdef/out=sys$output: sys$share:starlet.mlb | - &lt;BR /&gt;$! _$ sear sys$pipe m_mnt &lt;BR /&gt;$! $EQU    DEV$M_MNT       &amp;lt;^X80000&amp;gt; &lt;BR /&gt;$ &lt;BR /&gt;$ devchar = f$getdvi(p1,"devchar") &lt;BR /&gt;$ sts = f$getdvi(p1,"sts") &lt;BR /&gt;$ mounted = ((devchar .and. %x80000) .ne. 0) &lt;BR /&gt;$ valid = ((sts .and. %x800) .ne. 0) &lt;BR /&gt;$ mntvfy_in_progress = ((sts .and. %x4000) .ne. 0) &lt;BR /&gt;$ if mounted .and. (.not. mntvfy_in_progress) .and. (.not. valid) then - &lt;BR /&gt;  write sys$output "Disk ''p1' status is MntVerifyTimeout" &lt;BR /&gt;$ &lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 28 Nov 2007 15:15:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108527#M87414</guid>
      <dc:creator>Jim_McKinney</dc:creator>
      <dc:date>2007-11-28T15:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: Detecting devices in Mount Verify Timeout from DCL</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108528#M87415</link>
      <description>&lt;!--!*#--&gt;These masks can also be easily found by &lt;BR /&gt;&lt;BR /&gt;$ search sys$share:*.req ucb$m_valid,ucb$m_mnt,dev$m_mnt&lt;BR /&gt;&lt;BR /&gt;A slightly more complete version of the same code:&lt;BR /&gt;&lt;BR /&gt;$! $ pipe lib/extr=$ucbdef/out=sys$output: sys$share:lib.mlb | -&lt;BR /&gt;$! _$ sear sys$pipe m_valid,m_mnt&lt;BR /&gt;$! $EQU    UCB$M_VALID     &amp;lt;^X800&amp;gt;&lt;BR /&gt;$! $EQU    UCB$M_MNTVERIP  &amp;lt;^X4000&amp;gt;&lt;BR /&gt;$! $ pipe lib/extr=$devdef/out=sys$output: sys$share:starlet.mlb | -&lt;BR /&gt;$! _$ sear sys$pipe m_mnt&lt;BR /&gt;$! $EQU    DEV$M_MNT       &amp;lt;^X80000&amp;gt;&lt;BR /&gt;$!&lt;BR /&gt;$ devchar = f$getdvi(p1,"devchar")&lt;BR /&gt;$ sts = f$getdvi(p1,"sts")&lt;BR /&gt;$ mounted = ((devchar .and. %x80000) .ne. 0)&lt;BR /&gt;$ valid = ((sts .and. %x800) .ne. 0)&lt;BR /&gt;$ mvtimeout = .not.f$getdvi(p1,"MOUNTVER_ELIGIBLE")&lt;BR /&gt;$ mntvfy_in_progress = ((sts .and. %x4000) .ne. 0)&lt;BR /&gt;$ show symbol/local/all&lt;BR /&gt;$ if mounted .and. mntvfy_in_progress then -&lt;BR /&gt;  write sys$Output "Disk ",p1," status is MntVerifyInProgress"&lt;BR /&gt;$!&lt;BR /&gt;$ if mounted .and. (.not. mntvfy_in_progress) .and. (.not. valid) .and. (mvtimeout) then -&lt;BR /&gt;  write sys$output "Disk ''p1' status is MntVerifyTimeout"&lt;BR /&gt;$!</description>
      <pubDate>Wed, 28 Nov 2007 16:02:12 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/detecting-devices-in-mount-verify-timeout-from-dcl/m-p/4108528#M87415</guid>
      <dc:creator>Robert_Boyd</dc:creator>
      <dc:date>2007-11-28T16:02:12Z</dc:date>
    </item>
  </channel>
</rss>

