--- smbd/smb2_lock.c.orig 2014-06-24 21:43:25.300420642 -0700 +++ smbd/smb2_lock.c 2014-06-26 03:08:20.897175532 -0700 @@ -740,11 +740,21 @@ static void reprocess_blocked_smb2_lock( &blr->blocking_smblctx, blr); - TALLOC_FREE(br_lck); - if (NT_STATUS_IS_ERR(status)) { + TALLOC_FREE(br_lck); break; + } else { + /* Remove the corresponding pending lock record.*/ + brl_lock_cancel(br_lck, + blr->smblctx, + sconn_server_id(blr->fsp->conn->sconn), + blr->offset, + blr->count, + blr->lock_flav, + blr); } + TALLOC_FREE(br_lck); + } if(blr->lock_num == state->lock_count) {