blr 3354 source3/include/proto.h struct blocking_lock_record *blr); blr 3385 source3/include/proto.h struct blocking_lock_record *blr); blr 3432 source3/include/proto.h struct blocking_lock_record *blr); blr 3444 source3/include/proto.h struct blocking_lock_record *blr); blr 409 source3/include/vfs.h struct blocking_lock_record *blr); blr 419 source3/include/vfs.h struct blocking_lock_record *blr); blr 91 source3/include/vfs_macros.h #define SMB_VFS_BRL_LOCK_WINDOWS(conn, br_lck, plock, blocking_lock, blr) ((conn)->vfs.ops.brl_lock_windows((conn)->vfs.handles.brl_lock_windows, (br_lck), (plock), (blocking_lock), (blr))) blr 93 source3/include/vfs_macros.h #define SMB_VFS_BRL_CANCEL_WINDOWS(conn, br_lck, plock, blr) ((conn)->vfs.ops.brl_cancel_windows((conn)->vfs.handles.brl_cancel_windows, (br_lck), (plock), (blr))) blr 225 source3/include/vfs_macros.h #define SMB_VFS_OPAQUE_BRL_LOCK_WINDOWS(conn, br_lck, plock, blocking_lock, blr) ((conn)->vfs_opaque.ops.brl_lock_windows((conn)->vfs_opaque.handles.brl_lock_windows, (br_lck), (plock), (blocking_lock), (blr))) blr 227 source3/include/vfs_macros.h #define SMB_VFS_OPAQUE_BRL_CANCEL_WINDOWS(conn, br_lck, plock, blr) ((conn)->vfs_opaque.ops.brl_cancel_windows((conn)->vfs_opaque.handles.brl_cancel_windows, (br_lck), (plock), (blr))) blr 360 source3/include/vfs_macros.h #define SMB_VFS_NEXT_BRL_LOCK_WINDOWS(handle, br_lck, plock, blocking_lock, blr) ((handle)->vfs_next.ops.brl_lock_windows((handle)->vfs_next.handles.brl_lock_windows, (br_lck), (plock), (blocking_lock), (blr))) blr 362 source3/include/vfs_macros.h #define SMB_VFS_NEXT_BRL_CANCEL_WINDOWS(handle, br_lck, plock, blr) ((handle)->vfs_next.ops.brl_cancel_windows((handle)->vfs_next.handles.brl_cancel_windows, (br_lck), (plock), (blr))) blr 884 source3/locking/brlock.c struct blocking_lock_record *blr) blr 911 source3/locking/brlock.c &lock, blocking_lock, blr); blr 1357 source3/locking/brlock.c struct blocking_lock_record *blr) blr 1373 source3/locking/brlock.c &lock, blr); blr 242 source3/locking/locking.c struct blocking_lock_record *blr) blr 280 source3/locking/locking.c blr); blr 346 source3/locking/locking.c struct blocking_lock_record *blr) blr 374 source3/locking/locking.c blr); blr 97 source3/modules/onefs.h struct blocking_lock_record *blr); blr 107 source3/modules/onefs.h struct blocking_lock_record *blr); blr 49 source3/modules/onefs_cbrl.c static char *onefs_cbrl_blr_state_str(const struct blocking_lock_record *blr) blr 54 source3/modules/onefs_cbrl.c SMB_ASSERT(blr); blr 56 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 87 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr; blr 94 source3/modules/onefs_cbrl.c for (blr = blocking_lock_queue; blr; blr = blr->next) blr 95 source3/modules/onefs_cbrl.c DEBUGADD(10, ("%s\n", onefs_cbrl_blr_state_str(blr))); blr 100 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr; blr 105 source3/modules/onefs_cbrl.c for (blr = blocking_lock_queue; blr; blr = blr->next) { blr 106 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 114 source3/modules/onefs_cbrl.c onefs_cbrl_blr_state_str(blr))); blr 119 source3/modules/onefs_cbrl.c if (blr == NULL) { blr 124 source3/modules/onefs_cbrl.c return blr; blr 129 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr; blr 136 source3/modules/onefs_cbrl.c blr = onefs_cbrl_find_blr(id); blr 137 source3/modules/onefs_cbrl.c if (blr == NULL) blr 140 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 144 source3/modules/onefs_cbrl.c blr->lock_num++; blr 146 source3/modules/onefs_cbrl.c num_locks = SVAL(blr->req->vwv+7, 0); blr 148 source3/modules/onefs_cbrl.c if (blr->lock_num == num_locks) blr 155 source3/modules/onefs_cbrl.c contend_level2_oplocks_begin(blr->fsp, blr 164 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr; blr 170 source3/modules/onefs_cbrl.c blr = onefs_cbrl_find_blr(id); blr 171 source3/modules/onefs_cbrl.c if (blr == NULL) blr 174 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 252 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr) blr 306 source3/modules/onefs_cbrl.c if (!pending && blr) { blr 308 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 328 source3/modules/onefs_cbrl.c SMB_ASSERT(blr); blr 345 source3/modules/onefs_cbrl.c blr->blr_private = talloc(blr, struct onefs_cbrl_blr_state); blr 350 source3/modules/onefs_cbrl.c bs = (struct onefs_cbrl_blr_state *)blr->blr_private; blr 431 source3/modules/onefs_cbrl.c struct blocking_lock_record *blr) blr 441 source3/modules/onefs_cbrl.c SMB_ASSERT(blr); blr 445 source3/modules/onefs_cbrl.c bs = ((struct onefs_cbrl_blr_state *)blr->blr_private); blr 1188 source3/modules/vfs_default.c struct blocking_lock_record *blr) blr 1209 source3/modules/vfs_default.c struct blocking_lock_record *blr) blr 228 source3/modules/vfs_full_audit.c struct blocking_lock_record *blr); blr 236 source3/modules/vfs_full_audit.c struct blocking_lock_record *blr); blr 1734 source3/modules/vfs_full_audit.c struct blocking_lock_record *blr) blr 1739 source3/modules/vfs_full_audit.c blocking_lock, blr); blr 1768 source3/modules/vfs_full_audit.c struct blocking_lock_record *blr) blr 1772 source3/modules/vfs_full_audit.c result = SMB_VFS_NEXT_BRL_CANCEL_WINDOWS(handle, br_lck, plock, blr); blr 73 source3/smbd/blocking.c struct blocking_lock_record *blr; blr 80 source3/smbd/blocking.c for (blr = blocking_lock_queue; blr; blr = blr->next) { blr 81 source3/smbd/blocking.c if (timeval_is_zero(&blr->expire_time)) { blr 87 source3/smbd/blocking.c if (blr->blocking_pid == 0xFFFFFFFF) { blr 95 source3/smbd/blocking.c next_timeout = timeval_brl_min(&next_timeout, &blr->expire_time); blr 138 source3/smbd/blocking.c struct blocking_lock_record *blr; blr 151 source3/smbd/blocking.c blr = talloc(NULL, struct blocking_lock_record); blr 152 source3/smbd/blocking.c if (blr == NULL) { blr 157 source3/smbd/blocking.c blr->next = NULL; blr 158 source3/smbd/blocking.c blr->prev = NULL; blr 160 source3/smbd/blocking.c blr->fsp = fsp; blr 162 source3/smbd/blocking.c blr->expire_time.tv_sec = 0; blr 163 source3/smbd/blocking.c blr->expire_time.tv_usec = 0; /* Never expire. */ blr 165 source3/smbd/blocking.c blr->expire_time = timeval_current_ofs(lock_timeout/1000, blr 168 source3/smbd/blocking.c blr->lock_num = lock_num; blr 169 source3/smbd/blocking.c blr->lock_pid = lock_pid; blr 170 source3/smbd/blocking.c blr->blocking_pid = blocking_pid; blr 171 source3/smbd/blocking.c blr->lock_flav = lock_flav; blr 172 source3/smbd/blocking.c blr->lock_type = lock_type; blr 173 source3/smbd/blocking.c blr->offset = offset; blr 174 source3/smbd/blocking.c blr->count = count; blr 177 source3/smbd/blocking.c blr->blr_private = NULL; blr 187 source3/smbd/blocking.c blr->lock_flav, blr 190 source3/smbd/blocking.c blr); blr 194 source3/smbd/blocking.c TALLOC_FREE(blr); blr 199 source3/smbd/blocking.c blr->req = talloc_move(blr, &req); blr 201 source3/smbd/blocking.c DLIST_ADD_END(blocking_lock_queue, blr, struct blocking_lock_record *); blr 213 source3/smbd/blocking.c (unsigned int)blr->expire_time.tv_sec, blr 214 source3/smbd/blocking.c (unsigned int)blr->expire_time.tv_usec, lock_timeout, blr 215 source3/smbd/blocking.c blr->fsp->fnum, blr->fsp->fsp_name )); blr 218 source3/smbd/blocking.c srv_defer_sign_response(blr->req->mid); blr 227 source3/smbd/blocking.c static void reply_lockingX_success(struct blocking_lock_record *blr) blr 229 source3/smbd/blocking.c reply_outbuf(blr->req, 2, 0); blr 239 source3/smbd/blocking.c chain_reply(blr->req); blr 240 source3/smbd/blocking.c TALLOC_FREE(blr->req->outbuf); blr 247 source3/smbd/blocking.c static void generic_blocking_lock_error(struct blocking_lock_record *blr, NTSTATUS status) blr 257 source3/smbd/blocking.c files_struct *fsp = blr->fsp; blr 260 source3/smbd/blocking.c fsp->last_lock_failure.context.smbpid = blr->lock_pid; blr 263 source3/smbd/blocking.c fsp->last_lock_failure.start = blr->offset; blr 264 source3/smbd/blocking.c fsp->last_lock_failure.size = blr->count; blr 267 source3/smbd/blocking.c fsp->last_lock_failure.lock_flav = blr->lock_flav; blr 271 source3/smbd/blocking.c reply_nterror(blr->req, status); blr 272 source3/smbd/blocking.c if (!srv_send_smb(smbd_server_fd(), (char *)blr->req->outbuf, blr 273 source3/smbd/blocking.c blr->req->encrypted, NULL)) { blr 276 source3/smbd/blocking.c TALLOC_FREE(blr->req->outbuf); blr 284 source3/smbd/blocking.c static void reply_lockingX_error(struct blocking_lock_record *blr, NTSTATUS status) blr 286 source3/smbd/blocking.c files_struct *fsp = blr->fsp; blr 287 source3/smbd/blocking.c uint16 num_ulocks = SVAL(blr->req->vwv+6, 0); blr 290 source3/smbd/blocking.c unsigned char locktype = CVAL(blr->req->vwv+3, 0); blr 295 source3/smbd/blocking.c data = (uint8_t *)blr->req->buf blr 309 source3/smbd/blocking.c for(i = blr->lock_num - 1; i >= 0; i--) { blr 329 source3/smbd/blocking.c generic_blocking_lock_error(blr, status); blr 336 source3/smbd/blocking.c static void blocking_lock_reply_error(struct blocking_lock_record *blr, NTSTATUS status) blr 338 source3/smbd/blocking.c DEBUG(10, ("Replying with error=%s. BLR = %p\n", nt_errstr(status), blr)); blr 340 source3/smbd/blocking.c switch(blr->req->cmd) { blr 342 source3/smbd/blocking.c reply_lockingX_error(blr, status); blr 346 source3/smbd/blocking.c reply_nterror(blr->req, status); blr 352 source3/smbd/blocking.c SCVAL(blr->req->outbuf,smb_com,SMBtrans2); blr 355 source3/smbd/blocking.c (char *)blr->req->outbuf, blr 356 source3/smbd/blocking.c IS_CONN_ENCRYPTED(blr->fsp->conn), blr 361 source3/smbd/blocking.c TALLOC_FREE(blr->req->outbuf); blr 374 source3/smbd/blocking.c static bool process_lockingX(struct blocking_lock_record *blr) blr 376 source3/smbd/blocking.c unsigned char locktype = CVAL(blr->req->vwv+3, 0); blr 377 source3/smbd/blocking.c files_struct *fsp = blr->fsp; blr 378 source3/smbd/blocking.c uint16 num_ulocks = SVAL(blr->req->vwv+6, 0); blr 379 source3/smbd/blocking.c uint16 num_locks = SVAL(blr->req->vwv+7, 0); blr 386 source3/smbd/blocking.c data = (uint8_t *)blr->req->buf blr 394 source3/smbd/blocking.c for(; blr->lock_num < num_locks; blr->lock_num++) { blr 398 source3/smbd/blocking.c lock_pid = get_lock_pid( data, blr->lock_num, large_file_format); blr 399 source3/smbd/blocking.c count = get_lock_count( data, blr->lock_num, large_file_format); blr 400 source3/smbd/blocking.c offset = get_lock_offset( data, blr->lock_num, large_file_format, &err); blr 417 source3/smbd/blocking.c &blr->blocking_pid, blr 418 source3/smbd/blocking.c blr); blr 427 source3/smbd/blocking.c if(blr->lock_num == num_locks) { blr 435 source3/smbd/blocking.c reply_lockingX_success(blr); blr 446 source3/smbd/blocking.c blocking_lock_reply_error(blr, status); blr 456 source3/smbd/blocking.c blr->lock_num, num_locks, fsp->fsp_name, fsp->fnum)); blr 466 source3/smbd/blocking.c static bool process_trans2(struct blocking_lock_record *blr) blr 471 source3/smbd/blocking.c blr->fsp, blr 472 source3/smbd/blocking.c blr->lock_pid, blr 473 source3/smbd/blocking.c blr->count, blr 474 source3/smbd/blocking.c blr->offset, blr 475 source3/smbd/blocking.c blr->lock_type, blr 476 source3/smbd/blocking.c blr->lock_flav, blr 479 source3/smbd/blocking.c &blr->blocking_pid, blr 480 source3/smbd/blocking.c blr); blr 492 source3/smbd/blocking.c blocking_lock_reply_error(blr, status); blr 500 source3/smbd/blocking.c send_trans2_replies(blr->fsp->conn, blr->req, params, 2, NULL, 0, 0xffff); blr 510 source3/smbd/blocking.c static bool blocking_lock_record_process(struct blocking_lock_record *blr) blr 512 source3/smbd/blocking.c switch(blr->req->cmd) { blr 514 source3/smbd/blocking.c return process_lockingX(blr); blr 517 source3/smbd/blocking.c return process_trans2(blr); blr 531 source3/smbd/blocking.c struct blocking_lock_record *blr, *blr_cancelled, *next = NULL; blr 533 source3/smbd/blocking.c for(blr = blocking_lock_queue; blr; blr = next) { blr 536 source3/smbd/blocking.c next = blr->next; blr 537 source3/smbd/blocking.c if (blr->fsp->fnum != fsp->fnum) { blr 541 source3/smbd/blocking.c if (blr->req->cmd == SMBlockingX) { blr 542 source3/smbd/blocking.c locktype = CVAL(blr->req->vwv+3, 0); blr 547 source3/smbd/blocking.c blr->req->cmd, fsp->fsp_name, fsp->fnum)); blr 550 source3/smbd/blocking.c blr->lock_pid, blr 551 source3/smbd/blocking.c blr->offset, blr 552 source3/smbd/blocking.c blr->count, blr 553 source3/smbd/blocking.c blr->lock_flav, blr 557 source3/smbd/blocking.c SMB_ASSERT(blr_cancelled == blr); blr 560 source3/smbd/blocking.c blr->lock_pid, blr 562 source3/smbd/blocking.c blr->offset, blr 563 source3/smbd/blocking.c blr->count, blr 564 source3/smbd/blocking.c blr->lock_flav, blr 565 source3/smbd/blocking.c blr); blr 569 source3/smbd/blocking.c blr->fsp = NULL; blr 579 source3/smbd/blocking.c struct blocking_lock_record *blr, *next = NULL; blr 581 source3/smbd/blocking.c for(blr = blocking_lock_queue; blr; blr = next) { blr 585 source3/smbd/blocking.c next = blr->next; blr 587 source3/smbd/blocking.c if (blr->req->mid != mid) { blr 591 source3/smbd/blocking.c fsp = blr->fsp; blr 597 source3/smbd/blocking.c "= %d\n", blr->req->cmd, fsp->fsp_name, blr 601 source3/smbd/blocking.c blr->lock_pid, blr 603 source3/smbd/blocking.c blr->offset, blr 604 source3/smbd/blocking.c blr->count, blr 605 source3/smbd/blocking.c blr->lock_flav, blr 606 source3/smbd/blocking.c blr); blr 610 source3/smbd/blocking.c blocking_lock_reply_error(blr,NT_STATUS_FILE_LOCK_CONFLICT); blr 611 source3/smbd/blocking.c DLIST_REMOVE(blocking_lock_queue, blr); blr 612 source3/smbd/blocking.c TALLOC_FREE(blr); blr 622 source3/smbd/blocking.c struct blocking_lock_record *blr, *next = NULL; blr 624 source3/smbd/blocking.c for(blr = blocking_lock_queue; blr; blr = next) { blr 625 source3/smbd/blocking.c next = blr->next; blr 626 source3/smbd/blocking.c if(blr->req->mid == mid) { blr 654 source3/smbd/blocking.c struct blocking_lock_record *blr, *next = NULL; blr 661 source3/smbd/blocking.c for (blr = blocking_lock_queue; blr; blr = next) { blr 663 source3/smbd/blocking.c next = blr->next; blr 671 source3/smbd/blocking.c DEBUG(10, ("Processing BLR = %p\n", blr)); blr 673 source3/smbd/blocking.c if(blocking_lock_record_process(blr)) { blr 675 source3/smbd/blocking.c talloc_tos(), blr->fsp); blr 678 source3/smbd/blocking.c "removing lock. BLR = %p\n", blr)); blr 682 source3/smbd/blocking.c blr->lock_pid, blr 684 source3/smbd/blocking.c blr->offset, blr 685 source3/smbd/blocking.c blr->count, blr 686 source3/smbd/blocking.c blr->lock_flav, blr 687 source3/smbd/blocking.c blr); blr 691 source3/smbd/blocking.c DLIST_REMOVE(blocking_lock_queue, blr); blr 692 source3/smbd/blocking.c TALLOC_FREE(blr); blr 702 source3/smbd/blocking.c if (!timeval_is_zero(&blr->expire_time) && timeval_compare(&blr->expire_time, &tv_curr) <= 0) { blr 704 source3/smbd/blocking.c talloc_tos(), blr->fsp); blr 706 source3/smbd/blocking.c DEBUG(10, ("Lock timed out! BLR = %p\n", blr)); blr 716 source3/smbd/blocking.c "timed out.\n", blr->fsp->fnum, blr 717 source3/smbd/blocking.c blr->fsp->fsp_name )); blr 720 source3/smbd/blocking.c blr->lock_pid, blr 722 source3/smbd/blocking.c blr->offset, blr 723 source3/smbd/blocking.c blr->count, blr 724 source3/smbd/blocking.c blr->lock_flav, blr 725 source3/smbd/blocking.c blr); blr 729 source3/smbd/blocking.c blocking_lock_reply_error(blr,NT_STATUS_FILE_LOCK_CONFLICT); blr 730 source3/smbd/blocking.c DLIST_REMOVE(blocking_lock_queue, blr); blr 731 source3/smbd/blocking.c TALLOC_FREE(blr); blr 755 source3/smbd/blocking.c struct blocking_lock_record *blr; blr 767 source3/smbd/blocking.c memcpy(&blr, msg, sizeof(blr)); blr 768 source3/smbd/blocking.c memcpy(&err, &msg[sizeof(blr)], sizeof(NTSTATUS)); blr 773 source3/smbd/blocking.c blocking_lock_reply_error(blr, err); blr 774 source3/smbd/blocking.c DLIST_REMOVE(blocking_lock_cancelled_queue, blr); blr 775 source3/smbd/blocking.c TALLOC_FREE(blr); blr 792 source3/smbd/blocking.c struct blocking_lock_record *blr; blr 803 source3/smbd/blocking.c for (blr = blocking_lock_queue; blr; blr = blr->next) { blr 804 source3/smbd/blocking.c if (fsp == blr->fsp && blr 805 source3/smbd/blocking.c lock_pid == blr->lock_pid && blr 806 source3/smbd/blocking.c offset == blr->offset && blr 807 source3/smbd/blocking.c count == blr->count && blr 808 source3/smbd/blocking.c lock_flav == blr->lock_flav) { blr 813 source3/smbd/blocking.c if (!blr) { blr 818 source3/smbd/blocking.c if (blr->req->cmd == SMBlockingX && blr 820 source3/smbd/blocking.c (CVAL(blr->req->vwv+3, 0) & LOCKING_ANDX_LARGE_FILES)) { blr 825 source3/smbd/blocking.c DLIST_REMOVE(blocking_lock_queue, blr); blr 826 source3/smbd/blocking.c DLIST_ADD(blocking_lock_cancelled_queue, blr); blr 829 source3/smbd/blocking.c memcpy(msg, &blr, sizeof(blr)); blr 830 source3/smbd/blocking.c memcpy(&msg[sizeof(blr)], &err, sizeof(NTSTATUS)); blr 836 source3/smbd/blocking.c return blr; blr 7098 source3/smbd/reply.c struct blocking_lock_record *blr = NULL; blr 7106 source3/smbd/reply.c blr = blocking_lock_cancel(fsp, blr 7113 source3/smbd/reply.c if (blr == NULL) { blr 7129 source3/smbd/reply.c blr);