| /fs/smb/server/ |
| A D | ksmbd_work.c | 23 if (work) { in ksmbd_alloc_work_struct() 31 work->iov = kcalloc(work->iov_alloc_cnt, sizeof(struct kvec), in ksmbd_alloc_work_struct() 35 work = NULL; in ksmbd_alloc_work_struct() 38 return work; in ksmbd_alloc_work_struct() 60 ksmbd_release_id(&work->conn->async_ida, work->async_id); in ksmbd_free_work_struct() 95 return queue_work(ksmbd_wq, &work->work); in ksmbd_queue_work() 101 work->iov[++work->iov_idx].iov_base = ib; in __ksmbd_iov_pin() 102 work->iov[work->iov_idx].iov_len = ib_len; in __ksmbd_iov_pin() 119 if (work->iov_alloc_cnt < work->iov_cnt + need_iov_cnt) { in __ksmbd_iov_pin_rsp() 136 work->iov[work->iov_idx].iov_base = work->response_buf; in __ksmbd_iov_pin_rsp() [all …]
|
| A D | server.c | 139 if (work->sess && conn->ops->is_sign_req(work, command)) { in __process_request() 147 ret = cmds->proc(work); in __process_request() 234 if (work->sess && in __handle_ksmbd_work() 235 (work->sess->sign || smb3_11_final_sess_setup_resp(work) || in __handle_ksmbd_work() 241 if (work->tcon) in __handle_ksmbd_work() 244 if (work->sess && work->sess->enc && work->encrypted && in __handle_ksmbd_work() 250 if (work->sess) in __handle_ksmbd_work() 264 struct ksmbd_work *work = container_of(wk, struct ksmbd_work, work); in handle_ksmbd_work() local 293 if (!work) { in queue_ksmbd_work() 298 work->conn = conn; in queue_ksmbd_work() [all …]
|
| A D | smb2pdu.h | 441 bool is_smb2_rsp(struct ksmbd_work *work); 484 int smb2_open(struct ksmbd_work *work); 487 int smb2_close(struct ksmbd_work *work); 488 int smb2_echo(struct ksmbd_work *work); 489 int smb2_set_info(struct ksmbd_work *work); 490 int smb2_read(struct ksmbd_work *work); 491 int smb2_write(struct ksmbd_work *work); 492 int smb2_flush(struct ksmbd_work *work); 493 int smb2_cancel(struct ksmbd_work *work); 494 int smb2_lock(struct ksmbd_work *work); [all …]
|
| A D | smb2pdu.c | 128 work->tcon = ksmbd_tree_conn_lookup(work->sess, tree_id); in smb2_get_ksmbd_tcon() 402 work->iov[work->iov_idx].iov_len += (new_len - len); in init_chained_smb2_rsp() 407 work->curr_smb2_rsp_hdr_off = work->next_smb2_rsp_hdr_off; in init_chained_smb2_rsp() 483 work->iov[work->iov_idx].iov_len += len; in is_chained_smb2_message() 486 work->curr_smb2_rsp_hdr_off = work->next_smb2_rsp_hdr_off; in is_chained_smb2_message() 4459 query_dir_private.work = work; in smb2_query_dir() 8871 iov = &work->iov[work->iov_idx - 1]; in smb2_set_sign_rsp() 8874 iov = &work->iov[work->iov_idx]; in smb2_set_sign_rsp() 8963 chann = lookup_chann_list(work->sess, work->conn); in smb3_set_sign_rsp() 8977 iov = &work->iov[work->iov_idx - 1]; in smb3_set_sign_rsp() [all …]
|
| A D | ksmbd_work.h | 86 struct work_struct work; member 98 static inline void *ksmbd_resp_buf_next(struct ksmbd_work *work) in ksmbd_resp_buf_next() argument 100 return work->response_buf + work->next_smb2_rsp_hdr_off + 4; in ksmbd_resp_buf_next() 107 static inline void *ksmbd_resp_buf_curr(struct ksmbd_work *work) in ksmbd_resp_buf_curr() argument 109 return work->response_buf + work->curr_smb2_rsp_hdr_off + 4; in ksmbd_resp_buf_curr() 116 static inline void *ksmbd_req_buf_next(struct ksmbd_work *work) in ksmbd_req_buf_next() argument 118 return work->request_buf + work->next_smb2_rcv_hdr_off + 4; in ksmbd_req_buf_next() 122 void ksmbd_free_work_struct(struct ksmbd_work *work); 129 bool ksmbd_queue_work(struct ksmbd_work *work); 132 int ksmbd_iov_pin_rsp(struct ksmbd_work *work, void *ib, int len); [all …]
|
| A D | smb_common.c | 143 hdr = work->request_buf; in ksmbd_verify_smb_message() 146 work->conn->outstanding_credits++; in ksmbd_verify_smb_message() 344 unsigned int cmd = work->conn->ops->get_cmd_val(work); in smb1_check_user_session() 364 if (!work->response_buf) { in smb1_allocate_rsp_buf() 380 work->send_no_response = 1; in set_smb1_rsp_status() 600 ret = smb2_handle_negotiate(work); in ksmbd_smb_negotiate_common() 607 init_smb2_neg_rsp(work); in ksmbd_smb_negotiate_common() 782 WARN_ON(work->saved_cred); in __ksmbd_override_fsids() 789 return __ksmbd_override_fsids(work, work->tcon->share_conf); in ksmbd_override_fsids() 795 WARN_ON(!work->saved_cred); in ksmbd_revert_fsids() [all …]
|
| A D | vfs.h | 82 int ksmbd_vfs_write(struct ksmbd_work *work, struct ksmbd_file *fp, 85 int ksmbd_vfs_fsync(struct ksmbd_work *work, u64 fid, u64 p_id); 87 int ksmbd_vfs_link(struct ksmbd_work *work, 90 int ksmbd_vfs_rename(struct ksmbd_work *work, const struct path *old_path, 92 int ksmbd_vfs_truncate(struct ksmbd_work *work, 95 int ksmbd_vfs_copy_file_ranges(struct ksmbd_work *work, 120 int ksmbd_vfs_kern_path(struct ksmbd_work *work, char *name, 123 int ksmbd_vfs_kern_path_locked(struct ksmbd_work *work, char *name, 127 struct dentry *ksmbd_vfs_kern_path_create(struct ksmbd_work *work, 133 int ksmbd_vfs_zero_data(struct ksmbd_work *work, struct ksmbd_file *fp, [all …]
|
| A D | vfs_cache.c | 423 __put_fd_final(work, fp); in ksmbd_close_fd() 434 __put_fd_final(work, fp); in ksmbd_fd_put() 458 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_fast() 474 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_slow() 478 ksmbd_fd_put(work, fp); in ksmbd_lookup_fd_slow() 621 fp->conn = work->conn; in ksmbd_open_fd() 622 fp->tcon = work->tcon; in ksmbd_open_fd() 899 work->tcon, in ksmbd_close_tree_conn_fds() 908 work->tcon, in ksmbd_close_session_fds() 974 fp->conn = work->conn; in ksmbd_reopen_durable_fd() [all …]
|
| A D | connection.c | 118 struct ksmbd_conn *conn = work->conn; in ksmbd_conn_enqueue_request() 134 struct ksmbd_conn *conn = work->conn; in ksmbd_conn_try_dequeue_request() 145 list_del_init(&work->request_entry); in ksmbd_conn_try_dequeue_request() 147 if (work->asynchronous) in ksmbd_conn_try_dequeue_request() 148 release_async_work(work); in ksmbd_conn_try_dequeue_request() 217 if (!work->response_buf) { in ksmbd_conn_write() 222 if (work->send_no_response) in ksmbd_conn_write() 225 if (!work->iov_idx) in ksmbd_conn_write() 230 work->iov_cnt, in ksmbd_conn_write() 232 work->need_invalidate_rkey, in ksmbd_conn_write() [all …]
|
| A D | oplock.c | 624 struct ksmbd_work *work = container_of(wk, struct ksmbd_work, work); in __smb2_oplock_break_noti() local 668 ksmbd_fd_put(work, fp); in __smb2_oplock_break_noti() 698 if (!work) in smb2_oplock_break_noti() 712 work->conn = conn; in smb2_oplock_break_noti() 717 INIT_WORK(&work->work, __smb2_oplock_break_noti); in smb2_oplock_break_noti() 722 __smb2_oplock_break_noti(&work->work); in smb2_oplock_break_noti() 737 struct ksmbd_work *work = container_of(wk, struct ksmbd_work, work); in __smb2_lease_break_noti() local 803 if (!work) in smb2_lease_break_noti() 821 work->conn = conn; in smb2_lease_break_noti() 826 INIT_WORK(&work->work, __smb2_lease_break_noti); in smb2_lease_break_noti() [all …]
|
| A D | vfs_cache.h | 142 int ksmbd_close_fd(struct ksmbd_work *work, u64 id); 143 struct ksmbd_file *ksmbd_lookup_fd_fast(struct ksmbd_work *work, u64 id); 144 struct ksmbd_file *ksmbd_lookup_foreign_fd(struct ksmbd_work *work, u64 id); 145 struct ksmbd_file *ksmbd_lookup_fd_slow(struct ksmbd_work *work, u64 id, 147 void ksmbd_fd_put(struct ksmbd_work *work, struct ksmbd_file *fp); 156 struct ksmbd_file *ksmbd_open_fd(struct ksmbd_work *work, struct file *filp); 159 void ksmbd_close_tree_conn_fds(struct ksmbd_work *work); 160 void ksmbd_close_session_fds(struct ksmbd_work *work); 161 int ksmbd_close_inode_fds(struct ksmbd_work *work, struct inode *inode); 186 int ksmbd_reopen_durable_fd(struct ksmbd_work *work, struct ksmbd_file *fp);
|
| A D | smb_common.h | 404 int (*allocate_rsp_buf)(struct ksmbd_work *work); 405 int (*set_rsp_credits)(struct ksmbd_work *work); 406 int (*check_user_session)(struct ksmbd_work *work); 407 int (*get_ksmbd_tcon)(struct ksmbd_work *work); 409 int (*check_sign_req)(struct ksmbd_work *work); 410 void (*set_sign_rsp)(struct ksmbd_work *work); 414 int (*decrypt_req)(struct ksmbd_work *work); 415 int (*encrypt_resp)(struct ksmbd_work *work); 452 int __ksmbd_override_fsids(struct ksmbd_work *work, 454 int ksmbd_override_fsids(struct ksmbd_work *work); [all …]
|
| A D | vfs.c | 377 if (work->conn->connection_type) { in ksmbd_vfs_read() 584 ksmbd_fd_put(work, fp); in ksmbd_vfs_fsync() 601 if (ksmbd_override_fsids(work)) in ksmbd_vfs_remove_file() 621 ksmbd_revert_fsids(work); in ksmbd_vfs_remove_file() 640 if (ksmbd_override_fsids(work)) in ksmbd_vfs_link() 676 ksmbd_revert_fsids(work); in ksmbd_vfs_link() 695 if (ksmbd_override_fsids(work)) in ksmbd_vfs_rename() 745 ksmbd_fd_put(work, parent_fp); in ksmbd_vfs_rename() 748 ksmbd_fd_put(work, parent_fp); in ksmbd_vfs_rename() 802 ksmbd_revert_fsids(work); in ksmbd_vfs_rename() [all …]
|
| A D | smb2misc.c | 368 int ksmbd_smb2_check_message(struct ksmbd_work *work) in ksmbd_smb2_check_message() argument 370 struct smb2_pdu *pdu = ksmbd_req_buf_next(work); in ksmbd_smb2_check_message() 374 __u32 len = get_rfc1002_len(work->request_buf); in ksmbd_smb2_check_message() 377 if ((u64)work->next_smb2_rcv_hdr_off + next_cmd > len) { in ksmbd_smb2_check_message() 385 else if (work->next_smb2_rcv_hdr_off) in ksmbd_smb2_check_message() 386 len -= work->next_smb2_rcv_hdr_off; in ksmbd_smb2_check_message() 463 if ((work->conn->vals->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU) && in ksmbd_smb2_check_message() 464 smb2_validate_credit_charge(work->conn, hdr)) in ksmbd_smb2_check_message() 470 int smb2_negotiate_request(struct ksmbd_work *work) in smb2_negotiate_request() argument 472 return ksmbd_smb_negotiate_common(work, SMB2_NEGOTIATE_HE); in smb2_negotiate_request()
|
| /fs/btrfs/ |
| A D | async-thread.c | 57 return work->wq->fs_info; in btrfs_work_owner() 213 struct btrfs_work *work; in run_ordered_work() local 243 work->ordered_func(work, false); in run_ordered_work() 250 if (work == self) { in run_ordered_work() 278 work->ordered_func(work, true); in run_ordered_work() 307 if (work->ordered_func) in btrfs_work_helper() 312 work->func(work); in btrfs_work_helper() 332 work->func = func; in btrfs_init_work() 336 work->flags = 0; in btrfs_init_work() 343 work->wq = wq; in btrfs_queue_work() [all …]
|
| /fs/ |
| A D | fs-writeback.c | 174 kfree(work); in finish_writeback_work() 189 if (work->done) in wb_queue_work() 1028 work = kmalloc(sizeof(*work), GFP_ATOMIC); in bdi_split_work_to_wbs() 1029 if (work) { in bdi_split_work_to_wbs() 1126 work = kzalloc(sizeof(*work), GFP_NOWAIT | __GFP_NOWARN); in cgroup_writeback_by_id() 1127 if (work) { in cgroup_writeback_by_id() 1856 if (work->sync_mode == WB_SYNC_ALL || work->tagged_writepages) in writeback_chunk_size() 2123 if ((work->for_background || work->for_kupdate) && in wb_writeback() 2155 if (work->sb) in wb_writeback() 2156 progress = writeback_sb_inodes(work->sb, wb, work); in wb_writeback() [all …]
|
| A D | sync.c | 117 static void do_sync_work(struct work_struct *work) in do_sync_work() argument 132 kfree(work); in do_sync_work() 137 struct work_struct *work; in emergency_sync() local 139 work = kmalloc(sizeof(*work), GFP_ATOMIC); in emergency_sync() 140 if (work) { in emergency_sync() 141 INIT_WORK(work, do_sync_work); in emergency_sync() 142 schedule_work(work); in emergency_sync()
|
| /fs/afs/ |
| A D | cmservice.c | 41 .work = SRXAFSCB_CallBack, 51 .work = SRXAFSCB_InitCallBackState, 61 .work = SRXAFSCB_InitCallBackState, 71 .work = SRXAFSCB_Probe, 81 .work = SRXAFSCB_ProbeUuid, 101 .work = SRXAFSCB_CallBack, 166 struct afs_call *call = container_of(work, struct afs_call, work); in SRXAFSCB_CallBack() 290 struct afs_call *call = container_of(work, struct afs_call, work); in SRXAFSCB_InitCallBackState() 382 struct afs_call *call = container_of(work, struct afs_call, work); in SRXAFSCB_Probe() 415 struct afs_call *call = container_of(work, struct afs_call, work); in SRXAFSCB_ProbeUuid() [all …]
|
| /fs/nfs/ |
| A D | localio.c | 37 struct work_struct work; member 45 struct work_struct work; member 400 queue_work(nfsiod_workqueue, &iocb->work); in nfs_local_pgio_aio_complete() 428 container_of(work, struct nfs_local_kiocb, work); in nfs_local_read_aio_complete_work() 445 container_of(work, struct nfs_local_kiocb, work); in nfs_local_call_read() 492 INIT_WORK(&iocb->work, nfs_local_call_read); in nfs_do_local_read() 618 container_of(work, struct nfs_local_kiocb, work); in nfs_local_write_aio_complete_work() 636 container_of(work, struct nfs_local_kiocb, work); in nfs_local_call_write() 802 ctx = container_of(work, struct nfs_local_fsync_ctx, work); in nfs_local_fsync_work() 845 queue_work(nfsiod_workqueue, &ctx->work); in nfs_local_commit() [all …]
|
| /fs/ext4/ |
| A D | readpage.c | 64 struct work_struct work; member 82 static void decrypt_work(struct work_struct *work) in decrypt_work() argument 85 container_of(work, struct bio_post_read_ctx, work); in decrypt_work() 94 static void verity_work(struct work_struct *work) in verity_work() argument 97 container_of(work, struct bio_post_read_ctx, work); in verity_work() 126 INIT_WORK(&ctx->work, decrypt_work); in bio_post_read_processing() 127 fscrypt_enqueue_decrypt_work(&ctx->work); in bio_post_read_processing() 134 INIT_WORK(&ctx->work, verity_work); in bio_post_read_processing() 135 fsverity_enqueue_verify_work(&ctx->work); in bio_post_read_processing()
|
| /fs/xfs/ |
| A D | xfs_pwork.c | 39 struct work_struct *work) in xfs_pwork_work() argument 45 pwork = container_of(work, struct xfs_pwork, work); in xfs_pwork_work() 94 INIT_WORK(&pwork->work, xfs_pwork_work); in xfs_pwork_queue() 97 queue_work(pctl->wq, &pwork->work); in xfs_pwork_queue()
|
| A D | xfs_mru_cache.c | 101 struct delayed_work work; /* Workqueue data for reaping. */ member 206 queue_delayed_work(xfs_mru_reap_wq, &mru->work, in _xfs_mru_cache_list_insert() 265 struct work_struct *work) in _xfs_mru_cache_reap() argument 268 container_of(work, struct xfs_mru_cache, work.work); in _xfs_mru_cache_reap() 286 queue_delayed_work(xfs_mru_reap_wq, &mru->work, next); in _xfs_mru_cache_reap() 358 INIT_DELAYED_WORK(&mru->work, _xfs_mru_cache_reap); in xfs_mru_cache_create() 383 cancel_delayed_work_sync(&mru->work); in xfs_mru_cache_flush()
|
| /fs/netfs/ |
| A D | objects.c | 13 static void netfs_free_request(struct work_struct *work); 64 INIT_WORK(&rreq->work, netfs_read_collection_worker); in netfs_alloc_request() 67 INIT_WORK(&rreq->work, netfs_write_collection_worker); in netfs_alloc_request() 119 static void netfs_free_request(struct work_struct *work) in netfs_free_request() argument 122 container_of(work, struct netfs_io_request, cleanup_work); in netfs_free_request() 131 cancel_work_sync(&rreq->work); in netfs_free_request() 188 INIT_WORK(&subreq->work, NULL); in netfs_alloc_subrequest()
|
| /fs/smb/server/mgmt/ |
| A D | share_config.c | 124 static struct ksmbd_share_config *share_config_request(struct ksmbd_work *work, in share_config_request() argument 130 struct unicode_map *um = work->conn->um; in share_config_request() 186 if (__ksmbd_override_fsids(work, share)) { in share_config_request() 193 ksmbd_revert_fsids(work); in share_config_request() 226 struct ksmbd_share_config *ksmbd_share_config_get(struct ksmbd_work *work, in ksmbd_share_config_get() argument 239 return share_config_request(work, name); in ksmbd_share_config_get()
|
| /fs/overlayfs/ |
| A D | super.c | 298 struct dentry *work; in ovl_workdir_create() local 306 if (!IS_ERR(work)) { in ovl_workdir_create() 312 if (work->d_inode) { in ovl_workdir_create() 319 return work; in ovl_workdir_create() 323 dput(work); in ovl_workdir_create() 330 work = ovl_do_mkdir(ofs, dir, work, attr.ia_mode); in ovl_workdir_create() 332 err = PTR_ERR(work); in ovl_workdir_create() 333 if (IS_ERR(work)) in ovl_workdir_create() 370 err = PTR_ERR(work); in ovl_workdir_create() 373 return work; in ovl_workdir_create() [all …]
|