Oplocks II nível tem não permitido após um arquivo é bloqueado

Traduções deste artigo Traduções deste artigo
ID do artigo: 306981 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Nível oplocks II não são concedidas para um arquivo que teve um intervalo de arquivo bloqueado. Esse comportamento ocorre até que todas as referências ao arquivo sejam removidas, inclusive as referências do sistema operacional, como o cache de arquivos.

Esse problema impede que os clientes de rede usem informações em cache ou read-ahead locais, que podem afetar o desempenho quando vários clientes de rede tentam detectar dados de arquivo.

Para obter mais informações sobre o comportamento de bloqueio, consulte seções o MORE INFORMATION e referências neste artigo.

Causa

Esse problema ocorre porque a arquitetura do sistema arquivo nos produtos listados no começo deste artigo não fornecem um mecanismo para sincronizar oplocks e bloqueios de arquivo. Como resultado, oplocks II nível não pode ser com segurança concedidas para um determinado arquivo após um bloqueio de arquivo tenha sido concedido para esse arquivo.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Você não pode remover as restrições descritas nos níveis de bloqueio que podem ser concedidas sem alteratering kernel do sistema e o Kit de ferramentas sistema de arquivos instalável (IFS). Isso requer redevelopment e reimplantação de todos os sistemas de arquivos (NTFS, CDFS, FastFat, UDFS e assim por diante, incluindo os sistemas de arquivo que são fornecidos por terceiros). O impacto dessas alterações estão além do escopo de hotfixes e service packs para sistemas operacionais já existentes.

Etapas para reproduzir o problema

Os seguintes passos requerem um servidor baseado no Windows 2000 e dois Windows NT ou clientes baseados no Windows 2000.
  1. 1 Cliente abre o arquivo, solicitação de leitura e gravação acesso e compartilhamento. Por exemplo, esse código gera NT_CREATE_ANDX SMB ao servidor:
    HANDLE h = CreateFile( "\\server\share\filename.ext",
                           GENERIC_WRITE | GENERIC_READ,
                           FILE_SHARE_WRITE | FILE_SHARE_READ,
                           0, OPEN_EXISTING,
                           FILE_ATTRIBUTE_NORMAL, 0 );
    					
  2. O servidor responde ao cliente 1 com NT_CREATE_ANDX SMB com o nível de bloqueio definido como "Lote".
  3. Cliente 2 abre o arquivo, solicitação de leitura e gravação acesso e compartilhamento.
  4. O servidor envia LOCKING_AND_X SMB para cliente 1, com o sinalizador de Quebra de bloqueio definido.
  5. O servidor responde ao cliente 2 com NT_CREATE_ANDX SMB com o nível de bloqueio definido como "II".
  6. 2 O cliente solicita um bloqueio exclusivo com o arquivo. Por exemplo, esse código gera LOCKING_ANDX SMB ao servidor:
    OVERLAPPED o = { NULL, NULL, 0, 0, NULL };
    LockFileEx( h, LOCKFILE_EXCLUSIVE_LOCK, 0, 0, 0, &o );
    					
  7. O servidor notifica o cliente 1 e 2 do cliente de bloqueio (LOCKING_ANDX SMB).
  8. Cliente 1 e 2 do cliente feche o arquivo.
  9. 1 Cliente abre o arquivo, solicitação de leitura e gravação acesso e compartilhamento.
  10. O servidor responde ao cliente 1 com NT_CREATE_ANDX SMB com o nível de bloqueio definido como "Lote".
  11. Cliente 2 abre o arquivo, solicitação de leitura e gravação acesso e compartilhamento.
  12. O servidor envia LOCKING_AND_X SMB para cliente 1, com o sinalizador de Quebra de bloqueio definido.
  13. O servidor responde ao cliente 2 com NT_CREATE_ANDX SMB com o nível de bloqueio definido para "None".

Referências

Para obter informações adicionais sobre bloqueios oportunistas, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
129202Extensão do PC: Explicação do bloqueio oportunista no Windows NT

Propriedades

ID do artigo: 306981 - Última revisão: sábado, 1 de dezembro de 2007 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
Palavras-chave: 
kbmt kbfile kbnofix kbprb KB306981 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 306981

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com