From:	MERC::"uunet!CRVAX.SRI.COM!RELAY-INFO-VAX" 27-JUN-1992 18:27:25.06
To:	info-vax@sri.com
CC:	
Subj:	RE: MncVerifyTimeout status - any cure?

The program that's attached below has worked for me when I've had disks go into
MntVerifyTimeout.  (We try to avoid having that situation, by setting the 
MVTIMEOUT parameter to its maximum of 64000 seconds -- but there have been
times when nobody's noticed that a disk has gone away for more than 17 hours!)
This program requires that you look up the disk's UCB address using
ANALYZE/SYSTEM -- mainly because I was too lazy to write the code required to
track down the UCB given the device name.

As always, there are no guarantees that this will work correctly for you -- use
at your own risk.  (Of course, at worst it will trigger that system reboot you
were going to do anyway! :-)

All this does is (1) set the volume-valid bit in the UCB; and (2) set the
mount-verify bit in the VCB.  That seems to do the trick.

					John

	.title		unmvt -- undo mount-verify timeout
	.library	/sys$share:lib.mlb/
	$ucbdef
	$vcbdef
;
ucbat:	.blkl		1
cmdlin:	.ascid		/????????/
cmdlen:	.blkw		1
prompt:	.ascid		/UCB address: /
done:	.ascid		/Done/
error:	.ascid		/Error/
;
	.entry	unmvt,0
	pushaw	cmdlen
	pushaq	prompt
	pushaq	cmdlin
	calls	#3,g^lib$get_foreign
	blbc	r0,8$
	cmpw	#8,cmdlen
	bneq	8$
	pushal	ucbat
	pushl	cmdlin+4
	movzwl	cmdlen,-(sp)
	calls	#3,g^lib$cvt_htb
	tstl	ucbat
	bgeq	8$
	clrl	-(sp)
	pushab	doit
	calls	#2,g^sys$cmkrnl
	pushaq	done
	blbs	r0,9$
	tstl	(sp)+
8$:	pushaq	error
9$:	calls	#1,g^lib$put_output
	movl	#1,r0
	ret
;
	.entry	doit,^m<r4,r5>
	movl	ucbat,r5
	bisl	#ucb$m_valid,ucb$l_sts(r5)
	movl	ucb$l_vcb(r5),r4
	bisb	#1@vcb$v_mountver,vcb$b_status2(r4)
	movl	#1,r0
	ret
	.end	unmvt

