smb2_get_ea(9)
π
β¨ smb2_get_ea(9) β the manual page, bestie β¨π
okay so you're looking at the smb2_get_ea(9) page from the Kernel API Manual, and I'm gonna walk you through it like we're texting at 2am. no cap, this is the handler for the smb2 get extended attribute command. periodt. π«Ά
πΈ NAME πΈ
smb2_get_ea β handler for smb2 get extended attribute command. that's literally it, that's the vibe. π
π SYNOPSIS π
int smb2_get_ea (struct ksmbd_work *work , struct ksmbd_file *fp ,
struct smb2_query_info_req *req , struct smb2_query_info_rsp *rsp , void
*rsp_org );
look at that signature, iconic. keep it exactly like that, no edits bestie. β¨
π¦ ARGUMENTS π¦
workβ smb work containing query info command buffer. it's giving "the main character context" tbh. πfpβksmbd_filepointer. a lil pointer to the file, slay. πreqβ get extended attribute request. the actual ask, lowkey important. πrspβ response buffer pointer. where the answer goes, periodt. π¬rsp_orgβ base response buffer pointer in case of chained response. for when things are chained, iykyk. π
π RETURN π
Returns 0 on success, otherwise error. so if it's 0, we celebrate π; if not, it's an error and we cry π. simple as that.
π SEE ALSO π
first, the kernel file: ./fs/smb/server/smb2pdu.c β that's where the magic lives. then the whole squad, and I mean every single one:
smb2_get_ksmbd_tcon(9)smb2_set_err_rsp(9)is_smb2_neg_cmd(9)is_smb2_rsp(9)get_smb2_cmd_val(9)set_smb2_rsp_status(9)init_smb2_neg_rsp(9)smb2_set_rsp_credits(9)init_chained_smb2_rsp(9)is_chained_smb2_message(9)init_smb2_rsp_hdr(9)smb2_allocate_rsp_buf(9)smb2_check_user_session(9)smb2_get_name(9)smb2_get_dos_mode(9)build_rdma_ctx(9)smb3_encryption_negotiated(9)decode_rdma_ctx(9)smb2_handle_negotiate(9)smb2_tree_connect(9)smb2_create_open_flags(9)smb2_tree_disconnect(9)smb2_session_logoff(9)create_smb2_pipe(9)smb2_set_ea(9)smb2_open(9)smb2_populate_readdir_entry(9)buffer_check_err(9)smb2_query_info(9)smb2_close_pipe(9)smb2_close(9)smb2_echo(9)smb2_set_info_file(9)smb2_set_info(9)smb2_read_pipe(9)smb2_set_rdma_key(9)smb2_prep_rdma_read(9)smb2_current_req_len(9)check_rdma_desc(9)smb2_parse_rdma_write_transform(9)smb2_read_rdma(9)smb2_read(9)smb2_write_pipe(9)smb2_write_rdma(9)smb2_write(9)smb2_flush(9)smb2_cancel(9)smb2_lock(9)smb2_ioctl(9)smb20_oplock_break_ack(9)smb21_lease_break_ack(9)smb2_oplock_break(9)smb2_notify(9)smb2_is_sign_req(9)smb2_check_sign_req(9)smb2_get_sign_rsp_iov(9)smb2_set_sign_rsp(9)smb3_check_sign_req(9)smb3_set_sign_rsp(9)smb3_preauth_hash_rsp(9)
that's the whole friend group, no one left behind. π«Άπ
and that's the page! footer tea: this came from ./fs/smb/server, dated October 2026, and it's smb2_get_ea(9) β so yeah, that's the manual, bestie. now go read some kernel code, mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms