Modifies the paging device table entry for a virtual memory object.
Item | Description |
---|---|
vmid | Specifies the identifier for the virtual memory object for which the paging device table entry is to be set. |
type | Specifies the type of device. The type parameter must have a value of D_REMOTE. |
ptr | Points to the strategy routine of the file system. |
flags | Reserved. You must set the flags parameter to zero. |
The vm_setdevid kernel service binds the paging device table entry associated with the file system strategy routine ptr, to the virtual memory object vmid. The paging device table entry must have already been mounted as type D_REMOTE through a prior vm_mount kernel service call.
After the file system has called the vm_setdevid kernel service on a given virtual memory object, subsequent paging I/O will be performed to or from the newly specified paging device table. Any outstanding I/O's to the paging device table formerly associated with the virtual memory object, remain queued, and will complete asynchronously. After they complete, subsequent paging I/O to those file pages will be performed to or from the newly specified paging device table.
The paging device table entry currently associated with the vmid object, on input to this call, must be valid and of type D_REMOTE. Any flags specified when the vm_mount kernel service gets called must match exactly any flags specified when the vm_mount kernel service gets called for the new paging device table entry.
The vm_setdevid kernel service can be called from the process environment only.
Item | Description |
---|---|
0 | Indicates a successful operation. |
EINVAL_VM_SETDEVID1 | Indicates that the vmid value is not a client segment, or the input type does not have the value of D_REMOTE. |
ENODEV_VM_SETDEVID2 | Indicates that a file system with the strategy routine designated by the ptr parameter is not in the paging device table. |
EINVAL_VM_SETDEVID3 | Indicates that the new paging device table entry is not D_REMOTE or is not valid. |
EINVAL_VM_SETDEVID4 | Indicates that the paging device table entry currently associated with the vmid object is not D_REMOTE or is not valid. |
EINVAL_VM_SETDEVID5 | Indicates that the vm_mount flags for the current and new paging device table entries differ. |
EINVAL_VM_SETDEVID6 | Indicates that this was called at interrupt level. |
EINVAL_VM_SETDEVID7 | Indicates that the input flags was nonzero. |
EINVAL_VM_SETDEVID8 | Indicates that the input vmid value is not valid. |
The vm_mount kernel service, vm_umount kernel service.
Memory Kernel Services and Understanding Virtual Memory Manager Interfaces in AIX® Version 7.1 Kernel Extensions and Device Support Programming Concepts.