Adds a file system type to the gfs table.
#include <sys/types.h> #include <sys/errno.h> int gfsadd ( gfsno, gfsp) int gfsno; struct gfs *gfsp;
Item | Description |
---|---|
gfsno | Specifies the file system number. This small integer value is either defined in the /usr/include/sys/vmount.h file or a user-defined number of the same order. |
gfsp | Points to the file system description structure. |
The gfsadd kernel service is used during configuration of a file system. The configuration routine for a file system invokes the gfsadd kernel service with a gfs structure. This structure describes the file system type.
The gfs structure type is defined in the /usr/include/sys/gfs.h file. The gfs structure must have the following fields filled in:
Field | Description |
---|---|
gfs_type | Specifies the integer type value. The predefined types are listed in the /usr/include/sys/vmount.h file. |
gfs_name | Specifies the character string name of the file system. The maximum length of this field is 16 bytes. Shorter names must be null-padded. |
gfs_flags | Specifies the flags that define the capabilities of the file
system. The following flag values are defined:
|
|
|
gfs_ops | Specifies the array of pointers to vfs operation implementations. |
gn_ops | Specifies the array of pointers to v-node operation implementations. |
The file system description structure can also specify:
Item | Description |
---|---|
gfs_init | Points to an initialization routine to be called by the gfsadd kernel service. This field must be null if no initialization routine is to be called. |
gfs_data | Points to file system private data. |
The gfsadd kernel service can be called from the process environment only.
Item | Description |
---|---|
0 | Indicates successful completion. |
EBUSY | Indicates that the file system type has already been installed. |
EINVAL | Indicates that the gfsno value is larger than the system-defined maximum. The system-defined maximum is indicated in the /usr/include/sys/vmount.h file. |