nfs.get_nfs4_clients¶
Read information about NFSv4 clients from /proc/fs/nfsd/clients.
Sample output:
[{
"id": "4",
"info": {
"clientid": 6273260596088110000,
"address": "192.168.40.247:790",
"status": "confirmed",
"seconds from last renew": 45,
"name": "Linux NFSv4.2 debian12-hv",
"minor version": 2,
"Implementation domain": "kernel.org",
"Implementation name": "Linux 6.1.0-12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 x86_64",
"Implementation time": [0, 0],
"callback state": "UP",
"callback address": "192.168.40.247:0"
},
"states": [
{
"94850248556250062041657638912": {
"type": "deleg",
"access": "r",
"superblock": "00:39:5",
"filename": "/debian12-hv"
}
},
{
"94850248556250062041741524992": {
"type": "open",
"access": "rw",
"deny": "--",
"superblock": "00:39:137",
"filename": "/.debian12-hv.swp",
"owner": "open id:8þÀ²3"
}
}
]
}]
Description of the fields (all per NFS client):
'clientid': Hash generated for this client connection
'address': The client IP and port. e.g. 10.20.30.40:768
'status': The current client status:
'confirmed' An active connection.
The status will convert to 'courtesy' in 90 seconds if not 'confirmed' by the client.
'courtesy' A stalled connection from an inactive client.
The status will convert to 'expirable' in 24hr.
'expirable' Waiting to be cleaned up.
'seconds from last renew': The session timeout counter. See 'status' field.
Gets reset by confirmation update from the client
'name': Supplied by the client.
Linux clients might offer something like 'Linux NFS4.2 clnt_name'.
FreeBSD clients might supply a UUID like name
'minor version': The NFS4.x minor version. E.G. '2' for NFSv4.2
'Implementation domain': NFSv4.1 info - e.g. 'kernel.org' or 'freebsd.org'.
'Implementation name': NFSv4.1 info - e.g. equivalent to 'uname -a' on the client
'Implementation time': NFSv4.1 info - Timestamp (time nfstime4) of client version (maybe unused?)
'callback state': Current callback 'service' status for this client: 'UP', 'DOWN', 'FAULT' or 'UNKNOWN'
Linux clients usually indicate 'UP'
FreeBSD clients may indicate 'DOWN' but are still functional
No Additional Items
Tuple Validation
Parameter 1: filters
filters
Type: array Default: []List of filters for query results. See API documentation for "Query Methods" for more guidance.
No Additional ItemsEach item of this array must be:
[
[
"name",
"=",
"bob"
]
]
[
[
"OR",
[
[
[
"name",
"=",
"bob"
]
],
[
[
"name",
"=",
"larry"
]
]
]
]
]
Parameter 2: options
options
Type: objectQuery options including pagination, ordering, and additional parameters.
No Additional PropertiesExtra
Type: object Default: {}Extra options are defined on a per-endpoint basis and are described in the documentation for the associated query method.
Order By
Type: array of string Default: []An array of field names describing the manner in which query results should be ordered. The field names may also have one of more of the following special prefixes: - (reverse sort direction), nulls_first: (place any null values at the head of the results list), nulls_last: (place any null values at the tail of the results list).
Each item of this array must be:
[
"size",
"-devname",
"nulls_first:-expiretime"
]
Select
Type: array Default: []An array of field names specifying the exact fields to include in the query return. The dot character . may be used to explicitly select only subkeys of the query result.
Each item of this array must be:
No Additional Items
Each item of this array must be:
[
"username",
"Authentication.status"
]
Count
Type: boolean Default: falseReturn a numeric value representing the number of items that match the specified query-filters.
Get
Type: boolean Default: falseReturn the JSON object of the first result matching the specified query-filters. The query fails if there specified query-filters return no results.
Offset
Type: integer Default: 0This specifies the beginning offset of the results array. When combined with the limit query-option it may be used to implement pagination of large results arrays. WARNING: some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.
Value must be greater or equal to 0
Limit
Type: integer Default: 0This specifies the maximum number of results matching the specified query-filters to return. When combined wtih the offset query-option it may be used to implement pagination of large results arrays.
WARNING: Some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.
Value must be greater or equal to 0 and lesser or equal to 10000
Force Sql Filters
Type: boolean Default: falseForce use of SQL for result filtering to reduce response time. May not work for all methods.
Result
No Additional Items
Each item of this array must be:
NFSGetNfs4ClientsEntry
Type: objectNo Additional Properties
Id
Type: stringUnique identifier for the NFSv4 client.
Info
Type: objectClient information including connection details and capabilities.
States
Type: array of objectArray of client state information including open files and locks.
No Additional ItemsEach item of this array must be:
NFSGetNfs4ClientsEntry
Type: objectNo Additional Properties
Id
Type: stringUnique identifier for the NFSv4 client.
Info
Type: objectClient information including connection details and capabilities.
States
Type: array of objectArray of client state information including open files and locks.
No Additional ItemsEach item of this array must be:
No Additional Items
Each item of this array must be:
Required roles: READONLY_ADMIN | SHARING_NFS_WRITE