/linux-4.4.14/fs/ocfs2/ |
H A D | stack_o2cb.c | 166 struct ocfs2_dlm_lksb *lksb = astarg; o2dlm_lock_ast_wrapper() local 168 lksb->lksb_conn->cc_proto->lp_lock_ast(lksb); o2dlm_lock_ast_wrapper() 173 struct ocfs2_dlm_lksb *lksb = astarg; o2dlm_blocking_ast_wrapper() local 175 lksb->lksb_conn->cc_proto->lp_blocking_ast(lksb, level); o2dlm_blocking_ast_wrapper() 180 struct ocfs2_dlm_lksb *lksb = astarg; o2dlm_unlock_ast_wrapper() local 197 lksb->lksb_conn->cc_proto->lp_unlock_ast(lksb, error); o2dlm_unlock_ast_wrapper() 202 struct ocfs2_dlm_lksb *lksb, o2cb_dlm_lock() 212 status = dlmlock(conn->cc_lockspace, o2dlm_mode, &lksb->lksb_o2dlm, o2cb_dlm_lock() 214 o2dlm_lock_ast_wrapper, lksb, o2cb_dlm_lock() 221 struct ocfs2_dlm_lksb *lksb, o2cb_dlm_unlock() 228 status = dlmunlock(conn->cc_lockspace, &lksb->lksb_o2dlm, o2cb_dlm_unlock() 229 o2dlm_flags, o2dlm_unlock_ast_wrapper, lksb); o2cb_dlm_unlock() 234 static int o2cb_dlm_lock_status(struct ocfs2_dlm_lksb *lksb) o2cb_dlm_lock_status() argument 236 return dlm_status_to_errno(lksb->lksb_o2dlm.status); o2cb_dlm_lock_status() 244 static int o2cb_dlm_lvb_valid(struct ocfs2_dlm_lksb *lksb) o2cb_dlm_lvb_valid() argument 249 static void *o2cb_dlm_lvb(struct ocfs2_dlm_lksb *lksb) o2cb_dlm_lvb() argument 251 return (void *)(lksb->lksb_o2dlm.lvb); o2cb_dlm_lvb() 254 static void o2cb_dump_lksb(struct ocfs2_dlm_lksb *lksb) o2cb_dump_lksb() argument 256 dlm_print_one_lock(lksb->lksb_o2dlm.lockid); o2cb_dump_lksb() 200 o2cb_dlm_lock(struct ocfs2_cluster_connection *conn, int mode, struct ocfs2_dlm_lksb *lksb, u32 flags, void *name, unsigned int namelen) o2cb_dlm_lock() argument 220 o2cb_dlm_unlock(struct ocfs2_cluster_connection *conn, struct ocfs2_dlm_lksb *lksb, u32 flags) o2cb_dlm_unlock() argument
|
H A D | stackglue.h | 64 * include in the lksb union to make space for a combined dlm_lksb and lvb. 67 struct dlm_lksb lksb; member in struct:fsdlm_lksb_plus_lvb 91 void (*lp_lock_ast)(struct ocfs2_dlm_lksb *lksb); 92 void (*lp_blocking_ast)(struct ocfs2_dlm_lksb *lksb, int level); 93 void (*lp_unlock_ast)(struct ocfs2_dlm_lksb *lksb, int error); 169 * them to stack->sp_proto. There is no astarg. The lksb will 175 struct ocfs2_dlm_lksb *lksb, 186 * no astarg. The lksb will be passed back to the unlock ast 190 struct ocfs2_dlm_lksb *lksb, 196 * callback pulls out the stack-specific lksb, converts the status 199 int (*lock_status)(struct ocfs2_dlm_lksb *lksb); 204 int (*lvb_valid)(struct ocfs2_dlm_lksb *lksb); 207 * Pull the lvb pointer off of the stack-specific lksb. 209 void *(*lock_lvb)(struct ocfs2_dlm_lksb *lksb); 226 void (*dump_lksb)(struct ocfs2_dlm_lksb *lksb); 277 struct ocfs2_dlm_lksb *lksb, 282 struct ocfs2_dlm_lksb *lksb, 285 int ocfs2_dlm_lock_status(struct ocfs2_dlm_lksb *lksb); 286 int ocfs2_dlm_lvb_valid(struct ocfs2_dlm_lksb *lksb); 287 void *ocfs2_dlm_lvb(struct ocfs2_dlm_lksb *lksb); 288 void ocfs2_dlm_dump_lksb(struct ocfs2_dlm_lksb *lksb);
|
H A D | stack_user.c | 663 struct ocfs2_dlm_lksb *lksb = astarg; fsdlm_lock_ast_wrapper() local 664 int status = lksb->lksb_fsdlm.sb_status; fsdlm_lock_ast_wrapper() 677 lksb->lksb_conn->cc_proto->lp_unlock_ast(lksb, 0); fsdlm_lock_ast_wrapper() 679 lksb->lksb_conn->cc_proto->lp_lock_ast(lksb); fsdlm_lock_ast_wrapper() 684 struct ocfs2_dlm_lksb *lksb = astarg; fsdlm_blocking_ast_wrapper() local 686 lksb->lksb_conn->cc_proto->lp_blocking_ast(lksb, level); fsdlm_blocking_ast_wrapper() 691 struct ocfs2_dlm_lksb *lksb, user_dlm_lock() 698 if (!lksb->lksb_fsdlm.sb_lvbptr) user_dlm_lock() 699 lksb->lksb_fsdlm.sb_lvbptr = (char *)lksb + user_dlm_lock() 702 ret = dlm_lock(conn->cc_lockspace, mode, &lksb->lksb_fsdlm, user_dlm_lock() 704 fsdlm_lock_ast_wrapper, lksb, user_dlm_lock() 710 struct ocfs2_dlm_lksb *lksb, user_dlm_unlock() 715 ret = dlm_unlock(conn->cc_lockspace, lksb->lksb_fsdlm.sb_lkid, user_dlm_unlock() 716 flags, &lksb->lksb_fsdlm, lksb); user_dlm_unlock() 720 static int user_dlm_lock_status(struct ocfs2_dlm_lksb *lksb) user_dlm_lock_status() argument 722 return lksb->lksb_fsdlm.sb_status; user_dlm_lock_status() 725 static int user_dlm_lvb_valid(struct ocfs2_dlm_lksb *lksb) user_dlm_lvb_valid() argument 727 int invalid = lksb->lksb_fsdlm.sb_flags & DLM_SBF_VALNOTVALID; user_dlm_lvb_valid() 732 static void *user_dlm_lvb(struct ocfs2_dlm_lksb *lksb) user_dlm_lvb() argument 734 if (!lksb->lksb_fsdlm.sb_lvbptr) user_dlm_lvb() 735 lksb->lksb_fsdlm.sb_lvbptr = (char *)lksb + user_dlm_lvb() 737 return (void *)(lksb->lksb_fsdlm.sb_lvbptr); user_dlm_lvb() 740 static void user_dlm_dump_lksb(struct ocfs2_dlm_lksb *lksb) user_dlm_dump_lksb() argument 830 struct dlm_lksb *lksb, char *name) sync_unlock() 835 error = dlm_unlock(conn->cc_lockspace, lksb->sb_lkid, 0, lksb, conn); sync_unlock() 838 name, lksb->sb_lkid, error); sync_unlock() 844 if (lksb->sb_status != -DLM_EUNLOCK) { sync_unlock() 846 name, lksb->sb_lkid, lksb->sb_status); sync_unlock() 854 struct dlm_lksb *lksb, char *name) sync_lock() 859 error = dlm_lock(conn->cc_lockspace, mode, lksb, flags, sync_lock() 864 name, lksb->sb_lkid, flags, mode, error); sync_lock() 870 status = lksb->sb_status; sync_lock() 874 name, lksb->sb_lkid, flags, mode, status); sync_lock() 689 user_dlm_lock(struct ocfs2_cluster_connection *conn, int mode, struct ocfs2_dlm_lksb *lksb, u32 flags, void *name, unsigned int namelen) user_dlm_lock() argument 709 user_dlm_unlock(struct ocfs2_cluster_connection *conn, struct ocfs2_dlm_lksb *lksb, u32 flags) user_dlm_unlock() argument 829 sync_unlock(struct ocfs2_cluster_connection *conn, struct dlm_lksb *lksb, char *name) sync_unlock() argument 852 sync_lock(struct ocfs2_cluster_connection *conn, int mode, uint32_t flags, struct dlm_lksb *lksb, char *name) sync_lock() argument
|
H A D | stackglue.c | 237 * for the ast and bast functions. They will pass the lksb to the ast 238 * and bast. The caller can wrap the lksb with their own structure to 243 struct ocfs2_dlm_lksb *lksb, ocfs2_dlm_lock() 248 if (!lksb->lksb_conn) ocfs2_dlm_lock() 249 lksb->lksb_conn = conn; ocfs2_dlm_lock() 251 BUG_ON(lksb->lksb_conn != conn); ocfs2_dlm_lock() 252 return active_stack->sp_ops->dlm_lock(conn, mode, lksb, flags, ocfs2_dlm_lock() 258 struct ocfs2_dlm_lksb *lksb, ocfs2_dlm_unlock() 261 BUG_ON(lksb->lksb_conn == NULL); ocfs2_dlm_unlock() 263 return active_stack->sp_ops->dlm_unlock(conn, lksb, flags); ocfs2_dlm_unlock() 267 int ocfs2_dlm_lock_status(struct ocfs2_dlm_lksb *lksb) ocfs2_dlm_lock_status() argument 269 return active_stack->sp_ops->lock_status(lksb); ocfs2_dlm_lock_status() 273 int ocfs2_dlm_lvb_valid(struct ocfs2_dlm_lksb *lksb) ocfs2_dlm_lvb_valid() argument 275 return active_stack->sp_ops->lvb_valid(lksb); ocfs2_dlm_lvb_valid() 279 void *ocfs2_dlm_lvb(struct ocfs2_dlm_lksb *lksb) ocfs2_dlm_lvb() argument 281 return active_stack->sp_ops->lock_lvb(lksb); ocfs2_dlm_lvb() 285 void ocfs2_dlm_dump_lksb(struct ocfs2_dlm_lksb *lksb) ocfs2_dlm_dump_lksb() argument 287 active_stack->sp_ops->dump_lksb(lksb); ocfs2_dlm_dump_lksb() 241 ocfs2_dlm_lock(struct ocfs2_cluster_connection *conn, int mode, struct ocfs2_dlm_lksb *lksb, u32 flags, void *name, unsigned int namelen) ocfs2_dlm_lock() argument 257 ocfs2_dlm_unlock(struct ocfs2_cluster_connection *conn, struct ocfs2_dlm_lksb *lksb, u32 flags) ocfs2_dlm_unlock() argument
|
H A D | dlmglue.c | 300 static inline struct ocfs2_lock_res *ocfs2_lksb_to_lock_res(struct ocfs2_dlm_lksb *lksb) ocfs2_lksb_to_lock_res() argument 302 return container_of(lksb, struct ocfs2_lock_res, l_lksb); ocfs2_lksb_to_lock_res() 1025 static void ocfs2_blocking_ast(struct ocfs2_dlm_lksb *lksb, int level) ocfs2_blocking_ast() argument 1027 struct ocfs2_lock_res *lockres = ocfs2_lksb_to_lock_res(lksb); ocfs2_blocking_ast() 1056 static void ocfs2_locking_ast(struct ocfs2_dlm_lksb *lksb) ocfs2_locking_ast() argument 1058 struct ocfs2_lock_res *lockres = ocfs2_lksb_to_lock_res(lksb); ocfs2_locking_ast() 1073 mlog(ML_ERROR, "lockres %s: lksb status value of %d!\n", ocfs2_locking_ast() 1122 static void ocfs2_unlock_ast(struct ocfs2_dlm_lksb *lksb, int error) ocfs2_unlock_ast() argument 1124 struct ocfs2_lock_res *lockres = ocfs2_lksb_to_lock_res(lksb); ocfs2_unlock_ast()
|
/linux-4.4.14/fs/ocfs2/dlm/ |
H A D | dlmunlock.c | 61 struct dlm_lockstatus *lksb, 66 struct dlm_lockstatus *lksb, 72 struct dlm_lockstatus *lksb, 101 struct dlm_lockstatus *lksb, dlmunlock_common() 156 status = dlm_get_cancel_actions(dlm, res, lock, lksb, &actions); dlmunlock_common() 158 status = dlm_get_unlock_actions(dlm, res, lock, lksb, &actions); dlmunlock_common() 167 memcpy(res->lvb, lksb->lvb, DLM_LVB_LEN); dlmunlock_common() 182 status = dlm_send_remote_unlock_request(dlm, res, lock, lksb, dlmunlock_common() 262 lksb->flags &= ~(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB); dlmunlock_common() 270 /* leave DLM_LKSB_PUT_LVB on the lksb so any final dlm_commit_pending_unlock() 286 struct dlm_lockstatus *lksb, dlmunlock_master() 290 return dlmunlock_common(dlm, res, lock, lksb, flags, call_ast, 1); dlmunlock_master() 296 struct dlm_lockstatus *lksb, dlmunlock_remote() 299 return dlmunlock_common(dlm, res, lock, lksb, flags, call_ast, 0); dlmunlock_remote() 312 struct dlm_lockstatus *lksb, dlm_send_remote_unlock_request() 348 vec[1].iov_base = lock->lksb->lvb; dlm_send_remote_unlock_request() 400 struct dlm_lockstatus *lksb = NULL; dlm_unlock_lock_handler() local 486 lksb = lock->lksb; 493 lksb->flags |= DLM_LKSB_PUT_LVB; 494 memcpy(&lksb->lvb[0], &unlock->lvb[0], DLM_LVB_LEN); 499 status = dlmunlock_master(dlm, res, lock, lksb, flags, &ignore); 504 lksb->flags &= ~DLM_LKSB_PUT_LVB; 531 struct dlm_lockstatus *lksb, dlm_get_cancel_actions() 563 struct dlm_lockstatus *lksb, dlm_get_unlock_actions() 587 enum dlm_status dlmunlock(struct dlm_ctxt *dlm, struct dlm_lockstatus *lksb, dlmunlock() argument 595 if (!lksb) { dlmunlock() 610 if (!lksb->lockid || !lksb->lockid->lockres) { dlmunlock() 615 lock = lksb->lockid; dlmunlock() 634 status = dlmunlock_master(dlm, res, lock, lksb, flags, dlmunlock() 639 status = dlmunlock_remote(dlm, res, lock, lksb, flags, dlmunlock() 98 dlmunlock_common(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int flags, int *call_ast, int master_node) dlmunlock_common() argument 283 dlmunlock_master(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int flags, int *call_ast) dlmunlock_master() argument 293 dlmunlock_remote(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int flags, int *call_ast) dlmunlock_remote() argument 309 dlm_send_remote_unlock_request(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int flags, u8 owner) dlm_send_remote_unlock_request() argument 528 dlm_get_cancel_actions(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int *actions) dlm_get_cancel_actions() argument 560 dlm_get_unlock_actions(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, struct dlm_lock *lock, struct dlm_lockstatus *lksb, int *actions) dlm_get_unlock_actions() argument
|
H A D | dlmlock.c | 145 lock->lksb->status = DLM_NORMAL; dlmlock_master() 204 lock->lksb->flags &= ~DLM_LKSB_GET_LVB; dlm_revert_pending_lock() 367 mlog(0, "freeing kernel-allocated lksb\n"); dlm_lock_release() 368 kfree(lock->lksb); dlm_lock_release() 424 struct dlm_lockstatus *lksb) dlm_new_lock() 433 if (!lksb) { dlm_new_lock() 435 lksb = kzalloc(sizeof(*lksb), GFP_NOFS); dlm_new_lock() 436 if (!lksb) { dlm_new_lock() 446 lock->lksb = lksb; dlm_new_lock() 447 lksb->lockid = lock; dlm_new_lock() 465 struct dlm_lockstatus *lksb = NULL; dlm_create_lock_handler() local 501 lksb = newlock->lksb; dlm_create_lock_handler() 504 lksb->flags |= DLM_LKSB_GET_LVB; dlm_create_lock_handler() 559 struct dlm_lockstatus *lksb, int flags, dlmlock() 571 if (!lksb) { dlmlock() 604 lock = lksb->lockid; dlmlock() 619 /* XXX: for ocfs2 purposes, the ast/bast/astdata/lksb are dlmlock() 624 if (lock->lksb != lksb || lock->ast != ast || dlmlock() 627 mlog(ML_ERROR, "new args: lksb=%p, ast=%p, bast=%p, " dlmlock() 628 "astdata=%p\n", lksb, ast, bast, data); dlmlock() 629 mlog(ML_ERROR, "orig args: lksb=%p, ast=%p, bast=%p, " dlmlock() 630 "astdata=%p\n", lock->lksb, lock->ast, dlmlock() 669 lock = dlm_new_lock(mode, dlm->node_num, tmpcookie, lksb); dlmlock() 704 lock->lksb->flags |= DLM_LKSB_GET_LVB; dlmlock() 739 lock->lksb->flags &= ~DLM_LKSB_GET_LVB; dlmlock() 751 lksb->status = status; dlmlock() 423 dlm_new_lock(int type, u8 node, u64 cookie, struct dlm_lockstatus *lksb) dlm_new_lock() argument 558 dlmlock(struct dlm_ctxt *dlm, int mode, struct dlm_lockstatus *lksb, int flags, const char *name, int namelen, dlm_astlockfunc_t *ast, void *data, dlm_bastlockfunc_t *bast) dlmlock() argument
|
H A D | dlmast.c | 196 struct dlm_lockstatus *lksb = lock->lksb; dlm_update_lvb() local 197 BUG_ON(!lksb); dlm_update_lvb() 202 /* check the lksb flags for the direction */ dlm_update_lvb() 203 if (lksb->flags & DLM_LKSB_GET_LVB) { dlm_update_lvb() 207 memcpy(lksb->lvb, res->lvb, DLM_LVB_LEN); dlm_update_lvb() 219 /* reset any lvb flags on the lksb */ dlm_update_lvb() 220 lksb->flags &= ~(DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB); dlm_update_lvb() 227 struct dlm_lockstatus *lksb; dlm_do_local_ast() local 234 lksb = lock->lksb; dlm_do_local_ast() 247 struct dlm_lockstatus *lksb; dlm_do_remote_ast() local 255 lksb = lock->lksb; dlm_do_remote_ast() 258 lksbflags = lksb->flags; dlm_do_remote_ast() 425 lock->lksb->status = DLM_NORMAL; 427 /* if we requested the lvb, fetch it into our lksb now */ 429 BUG_ON(!(lock->lksb->flags & DLM_LKSB_GET_LVB)); 430 memcpy(lock->lksb->lvb, past->lvb, DLM_LVB_LEN); 477 vec[1].iov_base = lock->lksb->lvb; dlm_send_proxy_ast_msg()
|
H A D | dlmconvert.c | 158 lock->lksb->flags |= DLM_LKSB_PUT_LVB; __dlmconvert_master() 168 lock->lksb->flags |= DLM_LKSB_GET_LVB; __dlmconvert_master() 208 lock->lksb->status = DLM_NORMAL; __dlmconvert_master() 212 if (lock->lksb->flags & DLM_LKSB_PUT_LVB) __dlmconvert_master() 213 memcpy(res->lvb, lock->lksb->lvb, DLM_LVB_LEN); __dlmconvert_master() 250 lock->lksb->flags &= ~(DLM_LKSB_GET_LVB|DLM_LKSB_PUT_LVB); dlm_revert_pending_convert() 314 lock->lksb->flags |= DLM_LKSB_PUT_LVB; dlmconvert_remote() 320 lock->lksb->flags |= DLM_LKSB_GET_LVB; dlmconvert_remote() 391 vec[1].iov_base = lock->lksb->lvb; dlm_send_remote_convert_request() 448 struct dlm_lockstatus *lksb; dlm_convert_lock_handler() local 513 lksb = lock->lksb; dlm_convert_lock_handler() 517 BUG_ON(lksb->flags & (DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB)); dlm_convert_lock_handler() 518 lksb->flags |= DLM_LKSB_PUT_LVB; dlm_convert_lock_handler() 519 memcpy(&lksb->lvb[0], &cnv->lvb[0], DLM_LVB_LEN); dlm_convert_lock_handler() 521 BUG_ON(lksb->flags & (DLM_LKSB_PUT_LVB|DLM_LKSB_GET_LVB)); dlm_convert_lock_handler() 522 lksb->flags |= DLM_LKSB_GET_LVB; dlm_convert_lock_handler() 544 lksb->flags &= ~(DLM_LKSB_GET_LVB|DLM_LKSB_PUT_LVB); dlm_convert_lock_handler()
|
H A D | dlmrecovery.c | 1194 if (!lock->lksb) dlm_prepare_lvb_for_migration() 1206 memcpy(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN); dlm_prepare_lvb_for_migration() 1211 if (!memcmp(mres->lvb, lock->lksb->lvb, DLM_LVB_LEN)) dlm_prepare_lvb_for_migration() 1238 if (lock->lksb) { dlm_add_lock_to_array() 1239 ml->flags = lock->lksb->flags; dlm_add_lock_to_array() 1259 dummy.lksb = NULL; dlm_add_dummy_lock() 1786 struct dlm_lockstatus *lksb = NULL; dlm_process_recovery_data() local 1812 lksb = NULL; dlm_process_recovery_data() 1908 lksb = newlock->lksb; 1915 lksb->flags |= (ml->flags & 1929 if (lksb->flags & DLM_LKSB_PUT_LVB) { 1932 * lksb with the updated lvb. */ 1933 memcpy(lksb->lvb, mres->lvb, DLM_LVB_LEN); 2225 /* zero the lksb lvb and lockres lvb */ list_for_each_entry() 2227 memset(lock->lksb->lvb, 0, DLM_LVB_LEN); list_for_each_entry() 2530 struct dlm_lockstatus lksb; dlm_pick_recovery_master() local 2536 memset(&lksb, 0, sizeof(lksb)); dlm_pick_recovery_master() 2538 ret = dlmlock(dlm, LKM_EXMODE, &lksb, LKM_NOQUEUE|LKM_RECOVERY, dlm_pick_recovery_master() 2542 mlog(0, "%s: dlmlock($RECOVERY) returned %d, lksb=%d\n", dlm_pick_recovery_master() 2543 dlm->name, ret, lksb.status); dlm_pick_recovery_master() 2594 ret = dlmunlock(dlm, &lksb, 0, dlm_reco_unlock_ast, dlm); dlm_pick_recovery_master() 2597 ret = dlmunlock(dlm, &lksb, LKM_CANCEL, dlm_reco_unlock_ast, dlm); dlm_pick_recovery_master() 2635 "lksb.status=%s\n", dlm->name, dlm_errname(ret), dlm_pick_recovery_master() 2636 dlm_errname(lksb.status)); dlm_pick_recovery_master()
|
H A D | dlmapi.h | 182 struct dlm_lockstatus *lksb, 191 struct dlm_lockstatus *lksb,
|
H A D | dlmthread.c | 379 BUG_ON(!target->lksb); dlm_shuffle_lists() 380 target->lksb->status = DLM_NORMAL; dlm_shuffle_lists() 439 BUG_ON(!target->lksb); dlm_shuffle_lists() 440 target->lksb->status = DLM_NORMAL; dlm_shuffle_lists()
|
H A D | dlmcommon.h | 369 struct dlm_lockstatus *lksb; member in struct:dlm_lock 829 struct dlm_lockstatus *lksb);
|
/linux-4.4.14/fs/dlm/ |
H A D | memory.c | 89 if (ua->lksb.sb_lvbptr) dlm_free_lkb() 90 kfree(ua->lksb.sb_lvbptr); dlm_free_lkb()
|
H A D | user.c | 49 __u32 lksb; member in struct:dlm_lock_params32 80 struct dlm_lksb32 lksb; member in struct:dlm_lock_result32 117 kb->i.lock.lksb = (void *)(long)kb32->i.lock.lksb; compat_input() 138 res32->lksb.sb_status = res->lksb.sb_status; compat_output() 139 res32->lksb.sb_flags = res->lksb.sb_flags; compat_output() 140 res32->lksb.sb_lkid = res->lksb.sb_lkid; compat_output() 141 res32->lksb.sb_lvbptr = (__u32)(long)res->lksb.sb_lvbptr; compat_output() 248 if (!params->castaddr || !params->lksb) { device_user_lock() 257 ua->user_lksb = params->lksb; device_user_lock() 283 error = ua->lksb.sb_lkid; device_user_lock() 305 ua->user_lksb = params->lksb; device_user_unlock() 704 memcpy(&result.lksb, &ua->lksb, sizeof(struct dlm_lksb)); copy_result_to_user() 733 if (copy_lvb && ua->lksb.sb_lvbptr && count >= len + DLM_USER_LVB_LEN) { copy_result_to_user() 734 if (copy_to_user(buf+len, ua->lksb.sb_lvbptr, copy_result_to_user()
|
H A D | dlm_internal.h | 146 struct dlm_lksb *lksb; member in struct:dlm_args 176 * the caller's lksb.sb_flags prior to the dlm_lock/dlm_unlock completion 221 int sb_status; /* copy to lksb status */ 222 uint8_t sb_flags; /* copy to lksb flags */ 234 uint32_t lkb_sbflags; /* lksb flags */ 669 struct dlm_lksb lksb; member in struct:dlm_user_args
|
H A D | lock.c | 1258 /* for local/process lkbs, lvbptr points to caller's lksb */ __put_lkb() 2235 * flag set and return DEMOTED in the lksb flags. 2805 static int set_lock_args(int mode, struct dlm_lksb *lksb, uint32_t flags, set_lock_args() argument 2846 if (!ast || !lksb) set_lock_args() 2849 if (flags & DLM_LKF_VALBLK && !lksb->sb_lvbptr) set_lock_args() 2852 if (flags & DLM_LKF_CONVERT && !lksb->sb_lkid) set_lock_args() 2865 args->lksb = lksb; set_lock_args() 2915 lkb->lkb_lksb = args->lksb; validate_lock_args() 2916 lkb->lkb_lvbptr = args->lksb->sb_lvbptr; validate_lock_args() 3411 struct dlm_lksb *lksb, dlm_lock() 3432 error = find_lkb(ls, lksb->sb_lkid, &lkb); dlm_lock() 3439 error = set_lock_args(mode, lksb, flags, namelen, 0, ast, dlm_lock() 3465 struct dlm_lksb *lksb, dlm_unlock() 5787 ua->lksb.sb_lvbptr = kzalloc(DLM_USER_LVB_LEN, GFP_NOFS); dlm_user_request() 5788 if (!ua->lksb.sb_lvbptr) { dlm_user_request() 5800 error = set_lock_args(mode, &ua->lksb, flags, namelen, timeout_cs, dlm_user_request() 5855 if (flags & DLM_LKF_VALBLK && !ua->lksb.sb_lvbptr) { dlm_user_convert() 5856 ua->lksb.sb_lvbptr = kzalloc(DLM_USER_LVB_LEN, GFP_NOFS); dlm_user_convert() 5857 if (!ua->lksb.sb_lvbptr) { dlm_user_convert() 5862 if (lvb_in && ua->lksb.sb_lvbptr) dlm_user_convert() 5863 memcpy(ua->lksb.sb_lvbptr, lvb_in, DLM_USER_LVB_LEN); dlm_user_convert() 5872 error = set_lock_args(mode, &ua->lksb, flags, 0, timeout_cs, dlm_user_convert() 5977 if (lvb_in && ua->lksb.sb_lvbptr) dlm_user_unlock() 5978 memcpy(ua->lksb.sb_lvbptr, lvb_in, DLM_USER_LVB_LEN); dlm_user_unlock() 3409 dlm_lock(dlm_lockspace_t *lockspace, int mode, struct dlm_lksb *lksb, uint32_t flags, void *name, unsigned int namelen, uint32_t parent_lkid, void (*ast) (void *astarg), void *astarg, void (*bast) (void *astarg, int mode)) dlm_lock() argument 3462 dlm_unlock(dlm_lockspace_t *lockspace, uint32_t lkid, uint32_t flags, struct dlm_lksb *lksb, void *astarg) dlm_unlock() argument
|
/linux-4.4.14/include/uapi/linux/ |
H A D | dlm_device.h | 45 struct dlm_lksb __user *lksb; member in struct:dlm_lock_params 87 struct dlm_lksb lksb; member in struct:dlm_lock_result
|
H A D | dlmconstants.h | 123 * requested mode, DLM_SBF_ALTMODE is returned in the lksb.
|
/linux-4.4.14/include/linux/ |
H A D | dlm.h | 106 * lksb: lock status block for input and async return values 125 * when the locking is complete and the status is returned in the lksb. 137 struct dlm_lksb *lksb, 153 * lkid: the lock ID as returned in the lksb 155 * lksb: if NULL the lksb parameter passed to last lock request is used 169 struct dlm_lksb *lksb,
|
/linux-4.4.14/fs/ocfs2/dlmfs/ |
H A D | userdlm.c | 45 static inline struct user_lock_res *user_lksb_to_lock_res(struct ocfs2_dlm_lksb *lksb) user_lksb_to_lock_res() argument 47 return container_of(lksb, struct user_lock_res, l_lksb); user_lksb_to_lock_res() 126 static void user_ast(struct ocfs2_dlm_lksb *lksb) user_ast() argument 128 struct user_lock_res *lockres = user_lksb_to_lock_res(lksb); user_ast() 139 mlog(ML_ERROR, "lksb status value of %u on lockres %.*s\n", user_ast() 214 static void user_bast(struct ocfs2_dlm_lksb *lksb, int level) user_bast() argument 216 struct user_lock_res *lockres = user_lksb_to_lock_res(lksb); user_bast() 232 static void user_unlock_ast(struct ocfs2_dlm_lksb *lksb, int status) user_unlock_ast() argument 234 struct user_lock_res *lockres = user_lksb_to_lock_res(lksb); user_unlock_ast()
|
/linux-4.4.14/drivers/md/ |
H A D | md-cluster.c | 25 struct dlm_lksb lksb; member in struct:dlm_lock_resource 104 ret = dlm_lock(res->ls, mode, &res->lksb, dlm_lock_sync() 110 if (res->lksb.sb_status == 0) dlm_lock_sync() 112 return res->lksb.sb_status; dlm_lock_sync() 142 res->lksb.sb_lvbptr = kzalloc(LVB_SIZE, GFP_KERNEL); lockres_init() 143 if (!res->lksb.sb_lvbptr) { lockres_init() 165 kfree(res->lksb.sb_lvbptr); lockres_init() 181 ret = dlm_unlock(res->ls, res->lksb.sb_lkid, 0, &res->lksb, res); lockres_free() 194 kfree(res->lksb.sb_lvbptr); lockres_free() 203 ri = (struct resync_info *)lockres->lksb.sb_lvbptr; add_resync_info() 215 memcpy(&ri, lockres->lksb.sb_lvbptr, sizeof(struct resync_info)); read_resync_info() 512 memcpy(&msg, message_lockres->lksb.sb_lvbptr, sizeof(struct cluster_msg)); recv_daemon() 585 memcpy(cinfo->message_lockres->lksb.sb_lvbptr, (void *)cmsg, __sendmsg() 655 memset(bm_lockres->lksb.sb_lvbptr, '\0', LVB_SIZE); gather_all_resync_info()
|
/linux-4.4.14/fs/gfs2/ |
H A D | lock_dlm.c | 498 static int sync_unlock(struct gfs2_sbd *sdp, struct dlm_lksb *lksb, char *name) sync_unlock() argument 503 error = dlm_unlock(ls->ls_dlm, lksb->sb_lkid, 0, lksb, ls); sync_unlock() 506 name, lksb->sb_lkid, error); sync_unlock() 512 if (lksb->sb_status != -DLM_EUNLOCK) { sync_unlock() 514 name, lksb->sb_lkid, lksb->sb_status); sync_unlock() 521 unsigned int num, struct dlm_lksb *lksb, char *name) sync_lock() 530 error = dlm_lock(ls->ls_dlm, mode, lksb, flags, sync_lock() 535 name, lksb->sb_lkid, flags, mode, error); sync_lock() 541 status = lksb->sb_status; sync_lock() 545 name, lksb->sb_lkid, flags, mode, status); sync_lock() 520 sync_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags, unsigned int num, struct dlm_lksb *lksb, char *name) sync_lock() argument
|