Dopo il blocco di un file non vengono concessi oplock di secondo livello

Traduzione articoli Traduzione articoli
Identificativo articolo: 306981 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Per un file per cui è stato bloccato un intervallo non vengono concessi oplock di secondo livello. Il problema si verifica finché non sono stati rimossi tutti i riferimenti al file, compresi quelli provenienti dal sistema operativo, ad esempio la cache dei file.

Questo problema impedisce ai client di rete di utilizzare informazioni incluse nella cache o informazioni locali Read-Ahead, il che può influire sulle prestazioni quando vari client di rete tentano di rilevare i dati del file.

Per ulteriori informazioni sul comportamento di oplock, vedere nelle sezioni del MORE INFORMATION e riferimenti in questo articolo.

Cause

Il problema si verifica perché l'architettura del file system nei prodotti elencati all'inizio di questo articolo non dispone di un meccanismo per sincronizzare i blocchi e gli oplock dei file. Ne consegue l'impossibilità di concedere con sicurezza oplock di secondo livello per un determinato file dopo che al file è stato concesso un blocco.

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo.

Informazioni

Non è possibile rimuovere le limitazioni descritte sui livelli di oplock che possono essere concessi senza alterare il kernel di sistema e il toolkit IFS (Installable File System). Ciò richiede un nuovo sviluppo e la ridistribuzione di tutti i file system (NTFS, CDFS, FastFat, UDFS, e così via, compresi i file system forniti da terze parti). L'impatto di queste modifiche va oltre l'ambito delle correzioni e i service pack per i sistemi operativi esistenti.

Procedura per riprodurre il problema

Le operazioni seguenti richiedono un server basato su Windows 2000 e due client di Windows 2000 o Windows NT.
  1. Il Client 1 apre il file, richiedendo l'accesso in lettura e scrittura e la condivisione. Ad esempio, questo codice genera NT_CREATE_ANDX SMB al server:
    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. Il server risponde al client 1 con NT_CREATE_ANDX SMB con il livello di oplock impostato su "Batch".
  3. Client 2 apre il file, condivisione e la richiesta di accesso in lettura e scrittura.
  4. Il server invia SMB LOCKING_AND_X al client 1, con il flag impostato Break Oplock .
  5. Il server risponde al client 2 con NT_CREATE_ANDX SMB con il livello di oplock impostato su "II".
  6. Il Client 2 richiede un blocco esclusivo a fronte del file. Ad esempio, questo codice genera LOCKING_ANDX SMB al server:
    OVERLAPPED o = { NULL, NULL, 0, 0, NULL };
    LockFileEx( h, LOCKFILE_EXCLUSIVE_LOCK, 0, 0, 0, &o );
    					
  7. Il server notifica il blocco sia al Client 1 sia al Client 2 (LOCKING_ANDX SMB).
  8. Client 1 e il client 2 chiudere il file.
  9. Il Client 1 apre il file, richiedendo l'accesso in lettura e scrittura e la condivisione.
  10. Il server risponde al client 1 con NT_CREATE_ANDX SMB con il livello di oplock impostato su "Batch".
  11. Client 2 apre il file, condivisione e la richiesta di accesso in lettura e scrittura.
  12. Il server invia SMB LOCKING_AND_X al client 1, con il flag impostato Break Oplock .
  13. Il server risponde al client 2 con NT_CREATE_ANDX SMB con il livello di oplock impostato su "None".

Riferimenti

Per ulteriori informazioni sui blocchi opportunistici, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
129202Estensione del PC: Descrizione del blocco opportunistico in Windows NT

Proprietà

Identificativo articolo: 306981 - Ultima modifica: sabato 1 dicembre 2007 - Revisione: 3.2
Le informazioni in questo articolo si applicano 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
Chiavi: 
kbmt kbfile kbnofix kbprb KB306981 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 306981
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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