This section explains how to change the sfdsk driver major numbers.
When the following message is output at the time of system startup, change the sfdsk driver major number to a number other than 487 according to this procedure.
ERROR: sfdsk: internal error, func=register_blkdev(sfdsk), errno=16
For details of this message, see the error message 26000 in "C.2.5 Internal Error Messages (26000-26001)."
For a cluster system, perform the following procedures on all nodes in the cluster.
1) Stopping volumes in local and shared classes
If a local or shared class exists, stop all volumes in the class. With a shared class registered with a cluster application, stop the cluster application to stop the volumes.
2) Determining a new major number
Choose a number that is not contained in /proc/devices nor /usr/include/linux/major.h. For a cluster system, the major number must be constant on all nodes in the cluster.
3) Changing the major number
To /etc/opt/FJSVsdx/modules/sfdsk.conf, add the "sfdsk_major=New_Major_Number;" line.
# # Copyright (c) 1998-2001 FUJITSU Ltd. # All rights reserved. # #ident "@(#)sfdsk.conf 41.4 04/10/04 TDM" name="sfdsk" parent="pseudo"; ... sfdsk_major= New_Major_Number; |
4) Re-creating device files
4-1) Re-creating device files for control
Re-create the device files _adm and _diag used by GDS for control.
# cd /dev/sfdsk # ls -l crw-r--r-- 1 root root Old_Major_Number, 0 May 9 18:47 _adm crw-r--r-- 1 root root Old_Major_Number, 1 May 9 18:47 _diag drwxr-xr-x 4 root root 4096 May 13 13:00 Class_Name ... # rm _adm _diag # /bin/mknod _adm c New_Major_Number 0 # /bin/mknod _diag c New_Major_Number 1 |
4-2) Checking the re-created device files
Check whether the device files _adm and _diag used by GDS for control were created correctly.
# cd /dev/sfdsk # ls -l crw-r--r-- 1 root root New_Major_Number, 0 May 9 18:47 _adm crw-r--r-- 1 root root New_Major_Number, 1 May 9 18:47 _diag drwxr-xr-x 4 root root 4096 May 13 13:00 Class_Name ... |
4-3) Deleting local volume and shared volume device files
If a local or shared class exists, delete volume device files.
# cd /dev/sfdsk/Class_Name/dsk # ls -l brw------- 1 root root Old_Major_Number, Minor_Number_1 May 13 13:00 Volume_Name_1 brw------- 1 root root Old_Major_Number, Minor_Number_2 May 13 13:00 Volume_Name_2 ... # rm Volume_Name_1 Volume_Name_2 ... |
The deleted device files will automatically be re-generated when the system is rebooted.
5) Rebooting the system
Reboot the system. For a cluster system, reboot all nodes in the cluster together.
6) Checking the major number
Check whether the sfdsk driver major number was set to the number determined in step 2).
# grep sfdsk /proc/devices ... New_Major_Number_sfdsk |
7) Checking volume device files
If a local or shared class exists, check whether volume device files were re-generated correctly.
# cd /dev/sfdsk/Class_Name/dsk # ls -l brw------- 1 root root New_Major_Number, Minor_Number_1 May 13 13:00 Volume_Name_1 brw------- 1 root root New_Major_Number, Minor_Number_2 May 13 13:00 Volume_Name_2 ... |