smb2_set_ea(9)
π smb2_set_ea(9) β the kernel API manual, bestie edition β¨
okay so real talk, this page lives in section 9 of the Kernel API Manual and it's all about one little function that does A Big Job. buckle up π
πΈ NAME πΈ
smb2_set_ea β the handler for setting extended attributes using the set info command. that's it, that's the whole vibe. it sets EAs. it's giving "quietly essential" tbh π¦
β¨ SYNOPSIS β¨
int smb2_set_ea (struct smb2_ea_info *eabuf , unsigned int buf_len ,
const struct path *path , bool get_write );
like, look at her. four params, returns an int. no cap, she's iconic π
π ARGUMENTS π
eabufβ the set info command buffer. this is the actual payload, the main character of the whole operation π«Άbuf_lenβ the length of the set info command buffer. yes bestie, we need to know how much buffer we're buffering πpathβ the dentry path for get ea. it's literally the path we're pointing at πget_writeβ get write access to a mount. so like, do we need write perms? this bool says yes or no, and honestly, it's serving gatekeeper π
π RETURN π
0 on success, otherwise error. that's the whole story β zero means slay, anything else means something went sideways π
π₯ SEE ALSO π₯
so many siblings, she's got a whole family tree, and ngl the list is LONG but we're not skipping a single one because every single one of them matters π§
Kernel file ./fs/smb/server/smb2pdu.c:
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_open(9)smb2_populate_readdir_entry(9)buffer_check_err(9)smb2_get_ea(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)
like I said. whole family. iykyk ππ
lowkey reminder bestie: that file path is ./fs/smb/server/smb2pdu.c and it's where all this lives. write it down, put it in your notes app, whatever, just don't lose it π
and that's the page!! shipped straight from ./fs/smb/server, dated October 2026, and yes, it's still smb2_set_ea(9) at the bottom because she's consistent like that πβπ
π¦ 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