home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / vxvm / root.2 / usr / sbin / vxdiskadd / vxdiskadd~
Text File  |  1998-08-19  |  4KB  |  128 lines

  1. #!/sbin/sh -
  2.  
  3. # Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  4. #                                                                         
  5. #        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  6. #                   SANTA CRUZ OPERATION INC.                             
  7. #                                                                         
  8. #   The copyright notice above does not evidence any actual or intended   
  9. #   publication of such source code.                                      
  10.  
  11. # @(#)cmd.vxvm:unixware/voladm/vxdiskadd.sh    1.2 3/3/97 03:34:01 - cmd.vxvm:unixware/voladm/vxdiskadd.sh
  12. #ident    "@(#)cmd.vxvm:unixware/voladm/vxdiskadd.sh    1.2"
  13.  
  14. # Copyright(C)1996 VERITAS Software Corporation.  ALL RIGHTS RESERVED.
  15. # UNPUBLISHED -- RIGHTS RESERVED UNDER THE COPYRIGHT
  16. # LAWS OF THE UNITED STATES.  USE OF A COPYRIGHT NOTICE
  17. # IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
  18. # OR DISCLOSURE.
  19. # THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND
  20. # TRADE SECRETS OF VERITAS SOFTWARE.  USE, DISCLOSURE,
  21. # OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  22. # EXPRESS WRITTEN PERMISSION OF VERITAS SOFTWARE.
  23. #               RESTRICTED RIGHTS LEGEND
  24. # USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS
  25. # SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBPARAGRAPH
  26. # (C) (1) (ii) OF THE RIGHTS IN TECHNICAL DATA AND
  27. # COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013.
  28. #               VERITAS SOFTWARE
  29. # 1600 PLYMOUTH STREET, MOUNTAIN VIEW, CA 94043
  30.  
  31. : ${VOLROOT_DIR:=$__VXVM_ROOT_DIR}
  32. . ${VOL_SCRIPTS_LIB:-$VOLROOT_DIR/usr/lib/vxvm/lib}/vxcommon
  33.  
  34. VOLADM_CURRENT_MENU=VolumeManager/Disk
  35. export VOLADM_CURRENT_MENU
  36. diskadd_lockfile=/var/spool/locks/.DISKADD.LOCK
  37.  
  38. diskadd_lock_cleanup()
  39. {
  40.     rm -f $diskadd_lockfile
  41. }
  42.  
  43. . $VOLADM_LIB/vxadm_lib.sh
  44.  
  45. if [ $# -eq 0 ]
  46. then
  47.     ewritemsg -M vxvmshm:532 \
  48. "Usage: vxdiskadd disk-address-pattern-list...
  49.  
  50.   Use this operation to add one or more disks to a disk group.  You can
  51.   add the selected disks to an existing disk group or to a new disk group
  52.   that will be created as a part of the operation. The selected disks may
  53.   also be added to a disk group as hot spares. The selected disks may also
  54.   be initialized without adding them to a disk group leaving the disks
  55.   available for use as replacement disks.
  56.  
  57.   More than one disk or pattern may be entered at the prompt.  Here are
  58.   some disk selection examples:
  59.  
  60.   all:        all disks
  61.   c3 c4b0t2:    all disks on both controller 3 and controller 4, bus 0, target 2
  62.   c3b0t4d2:    a single disk"
  63.  
  64.     quit 0
  65.     
  66. fi
  67.  
  68. if [ -f $diskadd_lockfile ]
  69. then
  70.     export diskadd_lockfile; ewritemsg -M vxvmshm:461 \
  71. "The vxdiskadd or vxdiskadm program is already being run and
  72.   these programs cannot run concurrently.  Please retry this at a
  73.   later time.  If you are certain that no other users are running
  74.   any of these programs, you can remove the file:
  75.  
  76.     $diskadd_lockfile
  77.  
  78.   Removing this file will allow you to run vxdiskadd.
  79.  
  80. "
  81.     exit 1
  82. fi
  83.  
  84. add_cleanup diskadd_lock_cleanup
  85. 2> /dev/null > $diskadd_lockfile
  86. if [ $? -ne 0 ]
  87. then
  88.     diskadd_lockfile="$diskadd_lockfile" egettxt \
  89.         "$0: Cannot create lock file $diskadd_lockfile" \
  90.         vxvmshm:35 $0 "$@" >&2
  91.  
  92.     exit 1
  93. fi
  94.  
  95. check_exclude_files
  96. if [ $? -ne 0 ]
  97. then
  98.     ewritemsg -M vxvmshm:304 \
  99.     "Please correct the problem listed above before re-running vxdiskadd."
  100.     quit 0
  101. fi
  102.  
  103. #
  104. # voladm_disk_device_list will set the environment variable
  105. # 'device_list' to all the disks that match the given input
  106. # disk addresses or patterns.
  107. #
  108. voladm_disk_device_list -i "$*"
  109. if [ $? -eq 1 ]
  110. then
  111.     quit 0
  112. fi
  113.  
  114. if [ -z "$device_list" ]
  115. then
  116.     ewritemsg -M vxvmshm:294 \
  117.     "No matching disks were returned."
  118.     quit 0
  119. fi
  120.  
  121. doit $VOLADM_BIN/disk.init $device_list
  122.  
  123. egettxt "\nGoodbye." vxvmshm:612
  124.  
  125. quit 0
  126.