fs/nfs/callback.h
Source file repositories/reference/linux-study-clean/fs/nfs/callback.h
File Facts
- System
- Linux kernel
- Corpus path
fs/nfs/callback.h- Extension
.h- Size
- 5029 bytes
- Lines
- 205
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- 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/sunrpc/svc.h
Detected Declarations
struct nfs4_slotstruct cb_process_statestruct cb_compound_hdr_argstruct cb_compound_hdr_resstruct cb_getattrargsstruct cb_getattrresstruct cb_recallargsstruct referring_callstruct referring_call_liststruct cb_sequenceargsstruct cb_sequenceresstruct cb_recallanyargsstruct cb_recallslotargsstruct cb_layoutrecallargsstruct cb_devicenotifyitemstruct cb_devicenotifyargsstruct cb_notify_lock_argsstruct cb_offloadargsenum nfs4_callback_procnum
Annotated Snippet
struct cb_process_state {
struct nfs_client *clp;
struct nfs4_slot *slot;
struct net *net;
u32 minorversion;
__be32 drc_status;
unsigned int referring_calls;
};
struct cb_compound_hdr_arg {
unsigned int taglen;
const char *tag;
unsigned int minorversion;
unsigned int cb_ident; /* v4.0 callback identifier */
unsigned nops;
};
struct cb_compound_hdr_res {
__be32 *status;
unsigned int taglen;
const char *tag;
__be32 *nops;
};
struct cb_getattrargs {
struct nfs_fh fh;
uint32_t bitmap[3];
};
struct cb_getattrres {
__be32 status;
uint32_t bitmap[3];
uint64_t size;
uint64_t change_attr;
struct timespec64 atime;
struct timespec64 ctime;
struct timespec64 mtime;
};
struct cb_recallargs {
struct nfs_fh fh;
nfs4_stateid stateid;
uint32_t truncate;
};
struct referring_call {
uint32_t rc_sequenceid;
uint32_t rc_slotid;
};
struct referring_call_list {
struct nfs4_sessionid rcl_sessionid;
uint32_t rcl_nrefcalls;
struct referring_call *rcl_refcalls;
};
struct cb_sequenceargs {
struct sockaddr *csa_addr;
struct nfs4_sessionid csa_sessionid;
uint32_t csa_sequenceid;
uint32_t csa_slotid;
uint32_t csa_highestslotid;
uint32_t csa_cachethis;
uint32_t csa_nrclists;
struct referring_call_list *csa_rclists;
};
struct cb_sequenceres {
__be32 csr_status;
struct nfs4_sessionid csr_sessionid;
uint32_t csr_sequenceid;
uint32_t csr_slotid;
uint32_t csr_highestslotid;
uint32_t csr_target_highestslotid;
};
extern __be32 nfs4_callback_sequence(void *argp, void *resp,
struct cb_process_state *cps);
#define RCA4_TYPE_MASK_RDATA_DLG 0
#define RCA4_TYPE_MASK_WDATA_DLG 1
#define RCA4_TYPE_MASK_DIR_DLG 2
#define RCA4_TYPE_MASK_FILE_LAYOUT 3
#define RCA4_TYPE_MASK_BLK_LAYOUT 4
#define RCA4_TYPE_MASK_OBJ_LAYOUT_MIN 8
#define RCA4_TYPE_MASK_OBJ_LAYOUT_MAX 9
#define RCA4_TYPE_MASK_OTHER_LAYOUT_MIN 12
#define RCA4_TYPE_MASK_OTHER_LAYOUT_MAX 15
#define PNFS_FF_RCA4_TYPE_MASK_READ 16
#define PNFS_FF_RCA4_TYPE_MASK_RW 17
Annotation
- Immediate include surface: `linux/sunrpc/svc.h`.
- Detected declarations: `struct nfs4_slot`, `struct cb_process_state`, `struct cb_compound_hdr_arg`, `struct cb_compound_hdr_res`, `struct cb_getattrargs`, `struct cb_getattrres`, `struct cb_recallargs`, `struct referring_call`, `struct referring_call_list`, `struct cb_sequenceargs`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- 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.