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);