include/linux/nfs4.h
Source file repositories/reference/linux-study-clean/include/linux/nfs4.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/nfs4.h- Extension
.h- Size
- 25237 bytes
- Lines
- 919
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/list.hlinux/uidgid.huapi/linux/nfs4.hlinux/sunrpc/msg_prot.hlinux/sunrpc/xdrgen/nfs4_1.h
Detected Declarations
struct nfs4_acestruct nfs4_aclstruct nfs4_labelstruct nfs4_stateid_structstruct nfs4_sessionidstruct nfs4_deviceidstruct nfs4_op_mapstruct nfs42_netaddrstruct nl4_serverenum nfs4_acl_whotypeenum nfs_opnum4enum nfsstat4enum nfs_ftype4enum open_claim_type4enum opentype4enum createmode4enum limit_by4enum nfs4_open_delegation_type4enum why_no_delegation4enum lock_type4enum state_protect_how4enum gddrnf4_statusenum pnfs_layouttypeenum pnfs_layoutreturn_typeenum pnfs_iomodeenum pnfs_notify_deviceid_type4enum pnfs_block_volume_typeenum pnfs_block_extent_stateenum scsi_code_setenum scsi_designator_typeenum filelayout_hint_care4enum data_content4enum pnfs_update_layout_reasonenum netloc_type4enum nfs4_change_attr_typeenum nfs4_setxattr_optionsenum nfs_cb_opnum4function seqid_mutating_err
Annotated Snippet
struct nfs4_ace {
uint32_t type;
uint32_t flag;
uint32_t access_mask;
int whotype;
union {
kuid_t who_uid;
kgid_t who_gid;
};
};
struct nfs4_acl {
uint32_t naces;
struct nfs4_ace aces[];
};
#define NFS4_MAXLABELLEN 2048
struct nfs4_label {
uint32_t lfs;
uint32_t pi;
u32 lsmid;
u32 len;
char *label;
};
typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier;
struct nfs4_stateid_struct {
union {
char data[NFS4_STATEID_SIZE];
struct {
__be32 seqid;
char other[NFS4_STATEID_OTHER_SIZE];
} __attribute__ ((packed));
};
enum {
NFS4_INVALID_STATEID_TYPE = 0,
NFS4_SPECIAL_STATEID_TYPE,
NFS4_OPEN_STATEID_TYPE,
NFS4_LOCK_STATEID_TYPE,
NFS4_DELEGATION_STATEID_TYPE,
NFS4_LAYOUT_STATEID_TYPE,
NFS4_PNFS_DS_STATEID_TYPE,
NFS4_REVOKED_STATEID_TYPE,
NFS4_FREED_STATEID_TYPE,
} type;
};
typedef struct nfs4_stateid_struct nfs4_stateid;
enum nfs_opnum4 {
OP_ACCESS = 3,
OP_CLOSE = 4,
OP_COMMIT = 5,
OP_CREATE = 6,
OP_DELEGPURGE = 7,
OP_DELEGRETURN = 8,
OP_GETATTR = 9,
OP_GETFH = 10,
OP_LINK = 11,
OP_LOCK = 12,
OP_LOCKT = 13,
OP_LOCKU = 14,
OP_LOOKUP = 15,
OP_LOOKUPP = 16,
OP_NVERIFY = 17,
OP_OPEN = 18,
OP_OPENATTR = 19,
OP_OPEN_CONFIRM = 20,
OP_OPEN_DOWNGRADE = 21,
OP_PUTFH = 22,
OP_PUTPUBFH = 23,
OP_PUTROOTFH = 24,
OP_READ = 25,
OP_READDIR = 26,
OP_READLINK = 27,
OP_REMOVE = 28,
OP_RENAME = 29,
OP_RENEW = 30,
OP_RESTOREFH = 31,
OP_SAVEFH = 32,
OP_SECINFO = 33,
OP_SETATTR = 34,
OP_SETCLIENTID = 35,
OP_SETCLIENTID_CONFIRM = 36,
OP_VERIFY = 37,
OP_WRITE = 38,
OP_RELEASE_LOCKOWNER = 39,
Annotation
- Immediate include surface: `linux/list.h`, `linux/uidgid.h`, `uapi/linux/nfs4.h`, `linux/sunrpc/msg_prot.h`, `linux/sunrpc/xdrgen/nfs4_1.h`.
- Detected declarations: `struct nfs4_ace`, `struct nfs4_acl`, `struct nfs4_label`, `struct nfs4_stateid_struct`, `struct nfs4_sessionid`, `struct nfs4_deviceid`, `struct nfs4_op_map`, `struct nfs42_netaddr`, `struct nl4_server`, `enum nfs4_acl_whotype`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.