[Info-vax] Difficulty mounting new disk

gwilliams at cfa.harvard.edu gwilliams at cfa.harvard.edu
Thu Jun 6 16:51:09 EDT 2019


On Thursday, June 6, 2019 at 4:39:22 PM UTC-4, Robert A. Brooks wrote:
> On 6/6/2019 4:23 PM, gwilliams at cfa.harvard.edu wrote:
> > I've not experienced this problem before.  A newly-installed disk in
> > an external disk box attached to a XP1000 workstation running V8.3 in
> > a small cluster was initialized with no errors.
> > 
> > INIT/
> > 
> > But when I try to mount it clusterwide, I get:
> > 
> > $ mount/sys/cluster/noassist $223$DKB100: RECOVERY
> > %MOUNT-F-DEVBUSYVOL, mount or dismount in progress on device, VOL$ lock failure
>  
> It's a failure to get a lock on the resource named VOL$RECOVERY
> 
> From [MOUNT96]GETDEV.B32
> 
> !
> ! Build the resource name and acquire the lock. Note that for
> ! historical reasons the label lock is an exec mode lock.
> !
> RES_NAME<0, 32> = 'VOL$';
> CH$MOVE (.VOLUME_LABEL [.J, DSC$W_LENGTH],
>          .VOLUME_LABEL [.J, DSC$A_POINTER],
>          RES_NAME [4]);
> RES_DESC [DSC$W_LENGTH] = .VOLUME_LABEL [.J, DSC$W_LENGTH] + 4;
> RES_DESC [DSC$A_POINTER] = RES_NAME;
> 
> !
> ! If this lock name is greater than 31 charaters, truncate it and set up to
> ! take out the secondary VOL$2ND lock with the remainder of the label.
> !
> RES_DESC_2ND [DSC$W_LENGTH] = 0;
> IF (.RES_DESC [DSC$W_LENGTH] GTRU 31)
> THEN
>   BEGIN
>     RES_DESC [DSC$W_LENGTH] = 31;
>     CH$MOVE(7, UPLIT BYTE ('VOL$2ND'), RES_NAME_2ND);
>     CH$MOVE(.VOLUME_LABEL [.J, DSC$W_LENGTH] - 27,
>             .VOLUME_LABEL [.J, DSC$A_POINTER] + 27,
>             RES_NAME_2ND [7]);
>     RES_DESC_2ND [DSC$W_LENGTH] = .VOLUME_LABEL [.J, DSC$W_LENGTH] - 27 + 7;
>     RES_DESC_2ND [DSC$A_POINTER] = RES_NAME_2ND;
>   END;
> 
> STATUS = $ENQW (LKMODE = LCK$K_EXMODE,
>                 LKSB   = LOCK_STATUS,
>                 FLAGS  = LCK$M_SYSTEM OR LCK$M_NOQUEUE OR LCK$M_SYNCSTS,
>                 ACMODE = PSL$C_EXEC,
>                 RESNAM = RES_DESC,
>                 EFN    = MOUNT_EFN);
> !
> ! Save the lock ID if we got it. Return device busy status if we failed
> ! to get the lock; bounce back other unexpected errors.
> !
> IF .STATUS
> THEN
>     BEGIN
> %IF %VARIANT EQL 1
> %THEN
> KERNEL_CALL (TRACE_IT, 3, .LOCK_STATUS[1]);
> %FI
>     LAB_LOCK_ID [.J] = .LOCK_STATUS [1];
>     STATUS = SS$_NORMAL;
>     END
> ELSE
>     BEGIN
>     IF .STATUS EQL SS$_NOTQUEUED
> %IF %DECLARED (MOUN$_DEVBUSYVOL)
> %THEN
>     THEN STATUS = MOUN$_DEVBUSYVOL;
> %ELSE
>     THEN STATUS = MOUN$_DEVBUSY;
> %FI
>     END;
> 
> -- 
> 
>                       -- Rob

So the volume label was the issue.  I re'inited it as RECOVERY2 and the
disk mounted on the host node.  I then dismounted and mounted it clusterwide.
Thanks for the BIG hint.

The disk it replaced had the label RECOVERY, and I'm wondering if some
vestige of that disk lingered in the cluster.

Gareth



More information about the Info-vax mailing list