Lines Matching refs:work
377 static void __put_fd_final(struct ksmbd_work *work, struct ksmbd_file *fp) in __put_fd_final() argument
379 __ksmbd_close_fd(&work->sess->file_table, fp); in __put_fd_final()
380 atomic_dec(&work->conn->stats.open_files_count); in __put_fd_final()
396 int ksmbd_close_fd(struct ksmbd_work *work, u64 id) in ksmbd_close_fd() argument
404 ft = &work->sess->file_table; in ksmbd_close_fd()
423 __put_fd_final(work, fp); in ksmbd_close_fd()
427 void ksmbd_fd_put(struct ksmbd_work *work, struct ksmbd_file *fp) in ksmbd_fd_put() argument
434 __put_fd_final(work, fp); in ksmbd_fd_put()
446 struct ksmbd_file *ksmbd_lookup_foreign_fd(struct ksmbd_work *work, u64 id) in ksmbd_lookup_foreign_fd() argument
448 return __ksmbd_lookup_fd(&work->sess->file_table, id); in ksmbd_lookup_foreign_fd()
451 struct ksmbd_file *ksmbd_lookup_fd_fast(struct ksmbd_work *work, u64 id) in ksmbd_lookup_fd_fast() argument
453 struct ksmbd_file *fp = __ksmbd_lookup_fd(&work->sess->file_table, id); in ksmbd_lookup_fd_fast()
455 if (__sanity_check(work->tcon, fp)) in ksmbd_lookup_fd_fast()
458 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_fast()
462 struct ksmbd_file *ksmbd_lookup_fd_slow(struct ksmbd_work *work, u64 id, in ksmbd_lookup_fd_slow() argument
468 id = work->compound_fid; in ksmbd_lookup_fd_slow()
469 pid = work->compound_pfid; in ksmbd_lookup_fd_slow()
472 fp = __ksmbd_lookup_fd(&work->sess->file_table, id); in ksmbd_lookup_fd_slow()
473 if (!__sanity_check(work->tcon, fp)) { in ksmbd_lookup_fd_slow()
474 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_slow()
478 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_slow()
603 struct ksmbd_file *ksmbd_open_fd(struct ksmbd_work *work, struct file *filp) in ksmbd_open_fd() argument
621 fp->conn = work->conn; in ksmbd_open_fd()
622 fp->tcon = work->tcon; in ksmbd_open_fd()
633 ret = __open_id(&work->sess->file_table, fp, OPEN_ID_TYPE_VOLATILE_ID); in ksmbd_open_fd()
639 atomic_inc(&work->conn->stats.open_files_count); in ksmbd_open_fd()
896 void ksmbd_close_tree_conn_fds(struct ksmbd_work *work) in ksmbd_close_tree_conn_fds() argument
898 int num = __close_file_table_ids(&work->sess->file_table, in ksmbd_close_tree_conn_fds()
899 work->tcon, in ksmbd_close_tree_conn_fds()
902 atomic_sub(num, &work->conn->stats.open_files_count); in ksmbd_close_tree_conn_fds()
905 void ksmbd_close_session_fds(struct ksmbd_work *work) in ksmbd_close_session_fds() argument
907 int num = __close_file_table_ids(&work->sess->file_table, in ksmbd_close_session_fds()
908 work->tcon, in ksmbd_close_session_fds()
911 atomic_sub(num, &work->conn->stats.open_files_count); in ksmbd_close_session_fds()
959 int ksmbd_reopen_durable_fd(struct ksmbd_work *work, struct ksmbd_file *fp) in ksmbd_reopen_durable_fd() argument
974 fp->conn = work->conn; in ksmbd_reopen_durable_fd()
975 fp->tcon = work->tcon; in ksmbd_reopen_durable_fd()
988 __open_id(&work->sess->file_table, fp, OPEN_ID_TYPE_VOLATILE_ID); in ksmbd_reopen_durable_fd()