critical impact:
fcntl - some functional differences (CrCh195)
Problem description
The fcntl routine on Tru64 UNIX and HP-UX are compatible with the exception of some AdvFS-specific and other miscellaneous request parameters.
The following are the request parameters specific to Tru64 UNIX:
For the F_GETTIMES and F_SETTIMES requests, the function's third argument is a pointer to the attr_timbuf structure that is not defined on HP-UX and that contains the file's atime (access time), mtime (modification time), and ctime (file attribute change time) values.
The following AdvFS file system request parameters are specific to Tru64 UNIX:
F_ADVFS_OP performs AdvFS-specific operations on AdvFS files. The value
expects that the argument parameter is a pointer to a advfs_opT structure that is not defined on HP-UX.
F_GETCACHEPOLICY gets the cache policy for the file, which is either direct I/O or caching.
F_GETMAP gets the sparseness map of the file referred to by the fildes parameter. The argument parameter, taken as a pointer to type struct extentmap (not defined on HP-UX), is filled in with data that describes the extent map of the file.
F_RSETLK and F_RSETLKW is reserved for use by the network lock daemon (rpc.lockd(8)) on NFS servers to acquire locks requested by F_SETLK on NFS clients.
F_RGETLK is reserved for use by the network lock daemon (rpc.lockd(8)) on NFS servers to acquire locks requested by F_SETLK on NFS clients.
F_CNVT is used by the network lock daemon (rpc.lockd(8)) to communicate with the NFS server kernel to handle locks on the NFS files.
Identifiers
 F_ADVFS_OP |
 F_GETMAP |
 F_RSETLK |
 F_CNVT |
 F_GETTIMES |
 F_RSETLKW |
 F_GETCACHEPOLICY |
 F_RGETLK |
 F_SETTIMES |
See also
Solution description
You might use the fstat function to replace F_GETTIMES and use the utimes function for F_SETTIMES as a temporary solution. Comment out all of the AdvFS-specific code.
F_RSETLK, F_CNVT, F_RGETLK, and F_RSETLKW are meant for internal use only, and the locks are remote. You should change any use of these if they are in your code.
See also
Problem summary
| classifications |
source types |
OS release |
severity |
type |
| IO |
C, C++ |
any HP-UX 11i version |
critical |
changed |
|