Ls command takes a long time to list shared files in two windows on a Windows-based NFS server

Applies to: Windows Server 2008 R2 Service Pack 1Windows Server 2008 R2 DatacenterWindows Server 2008 R2 Enterprise More

Symptoms


Consider the following scenario:

  • You have a computer that is running Windows Server 2008 R2 Service Pack 1 (SP1) or Windows Server 2008 Service Pack 2 (SP2).
  • The computer works as a Network File System (NFS) server.
  • You create and share files on the NFS server.
  • You use a mount command on a NFS client to connect to the NFS server.
  • You open more than one terminal window on the NFS client.
  • You run the following ls command in each terminal window at the same time to list all shared files:
    cd <NFS share>
    ls –lR
In this scenario, it takes longer than expected to list all the shared files from the NFS server.

Cause


This issue occurs when the NFS client sends a GETATTR call two times in a row. The NFS server has to wait for the ACK packet from the NFS client for the first GETATTR reply packet before it can send the queued second GETATTR reply packet.

Note In most cases, it takes about 0.04 sec to send the second GETATTR reply packet because of delayed ACKs from the NFS client. Therefore, when you execute an ls command, it takes more than two hours to list all files for the attribute information when the total number of files is more than 400,000.
(400,000 * 0.04 sec / 2 Nfs3GetAttr() calls / 3600 sec = 2.22 hours)

You can confirm how long it takes to send the GETATRR reply to the NFS client by monitoring network packets.

Resolution


To resolve this issue, install hotfix 2957486 on the NFS server.

Note Even though this issue has only been observed in Windows Server 2008 R2 or Windows Server 2008, the hotfix also applies to Windows 7 or Windows Vista.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix Download Available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note The "Hotfix Download Available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

There are no prerequisites for installing this hotfix.

Registry information

To use the hotfix in this package, you do not have to make any changes to the registry.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information


For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates.

Information about monitored network packets

Time Delta            Description
========== =============================================
0.0000730 NFS:V3 NFSPROC3_GETATTR Service Call Message
0.0000140 NFS:V3 NFSPROC3_GETATTR Service Call Message
0.0000390 NFS:V3 NFSPROC3_GETATTR Service Reply Message
0.0397670 TCP:Flags=...A...., SrcPort=1004, DstPort=NFS(2049)
0.0000200 NFS:V3 NFSPROC3_GETATTR Service Reply Message

Additional file information

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7
File propertyValue
File nameX86_4cf42fd70779f9378c5440baa7e04efa_31bf3856ad364e35_6.1.7601.22787_none_81aa06d00db51e20.manifest
File versionNot applicable
File size699
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameX86_891fef54c2459fb76bfe6388af42eb84_31bf3856ad364e35_6.1.7601.18581_none_9d113158981f98f5.manifest
File versionNot applicable
File size699
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameX86_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.18581_none_e5729b3aa98609db.manifest
File versionNot applicable
File size9,497
Date (UTC)29-Aug-2014
Time (UTC)02:10
PlatformNot applicable
File nameX86_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.22787_none_e6023ba7c29e3ed6.manifest
File versionNot applicable
File size9,497
Date (UTC)29-Aug-2014
Time (UTC)02:07
PlatformNot applicable
Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2
File propertyValue
File nameAmd64_a478ab1aae590d8b2fa179990f04cf4e_31bf3856ad364e35_6.1.7601.18581_none_a4e4c7d89dd0078a.manifest
File versionNot applicable
File size703
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameAmd64_b6a6ca1c94bc0afa23c9cb63cf55b87c_31bf3856ad364e35_6.1.7601.22787_none_6512e466286aaded.manifest
File versionNot applicable
File size703
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameAmd64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.18581_none_419136be61e37b11.manifest
File versionNot applicable
File size9,501
Date (UTC)29-Aug-2014
Time (UTC)02:32
PlatformNot applicable
File nameAmd64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.22787_none_4220d72b7afbb00c.manifest
File versionNot applicable
File size9,501
Date (UTC)29-Aug-2014
Time (UTC)02:34
PlatformNot applicable
Additional files for all supported IA-64-based versions of Windows Server 2008 R2
File propertyValue
File nameIa64_9487e947508335959d63d105585b933d_31bf3856ad364e35_6.1.7601.22787_none_3070f977d04db29a.manifest
File versionNot applicable
File size701
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameIa64_961a2331714f782fb50d90fcb6818f01_31bf3856ad364e35_6.1.7601.18581_none_8c2e1516e44743cf.manifest
File versionNot applicable
File size701
Date (UTC)29-Aug-2014
Time (UTC)22:27
PlatformNot applicable
File nameIa64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.18581_none_e5743f30a98412d7.manifest
File versionNot applicable
File size9,499
Date (UTC)29-Aug-2014
Time (UTC)01:59
PlatformNot applicable
File nameIa64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.1.7601.22787_none_e603df9dc29c47d2.manifest
File versionNot applicable
File size9,499
Date (UTC)29-Aug-2014
Time (UTC)02:00
PlatformNot applicable

Additional file information for Windows Vista and for Windows Server 2008

Additional files for all supported x86-based versions of Windows Vista
File propertyValue
File nameX86_7916029a1fbd76e3f649e779a8b3aebb_31bf3856ad364e35_6.0.6002.23499_none_f2e95ecaff7e2100.manifest
File versionNot applicable
File size699
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameX86_c68f42ae393735ae51f9218cb24c15d6_31bf3856ad364e35_6.0.6002.19195_none_c9fd62d4aa09a6c7.manifest
File versionNot applicable
File size699
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameX86_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.19195_none_e5440d4748733d2a.manifest
File versionNot applicable
File size12,276
Date (UTC)25-Sep-2014
Time (UTC)01:18
PlatformNot applicable
File nameX86_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.23499_none_e5d1af06618d3c9e.manifest
File versionNot applicable
File size12,276
Date (UTC)24-Sep-2014
Time (UTC)01:20
PlatformNot applicable
Additional files for all supported x64-based versions of Windows Vista and of Windows Server 2008
File propertyValue
File nameAmd64_d05cdfec830a0496f1ca8ce070509858_31bf3856ad364e35_6.0.6002.23499_none_20686f608c9784e0.manifest
File versionNot applicable
File size703
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameAmd64_ee224002335449027349c46a3a5eadab_31bf3856ad364e35_6.0.6002.19195_none_073920c1e106f7ed.manifest
File versionNot applicable
File size703
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameAmd64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.19195_none_4162a8cb00d0ae60.manifest
File versionNot applicable
File size12,288
Date (UTC)25-Sep-2014
Time (UTC)02:00
PlatformNot applicable
File nameAmd64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.23499_none_41f04a8a19eaadd4.manifest
File versionNot applicable
File size12,288
Date (UTC)24-Sep-2014
Time (UTC)01:03
PlatformNot applicable
Additional files for all supported IA-64-based versions of Windows Server 2008
File propertyValue
File nameIa64_54cda82621cb49a9e5ad73e7188d9e92_31bf3856ad364e35_6.0.6002.23499_none_390e71c48f25031f.manifest
File versionNot applicable
File size701
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameIa64_8ec809411c003dd2334f477a4188e294_31bf3856ad364e35_6.0.6002.19195_none_eda06f33bcc1b5b3.manifest
File versionNot applicable
File size701
Date (UTC)25-Sep-2014
Time (UTC)04:54
PlatformNot applicable
File nameIa64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.19195_none_e545b13d48714626.manifest
File versionNot applicable
File size12,282
Date (UTC)25-Sep-2014
Time (UTC)00:45
PlatformNot applicable
File nameIa64_microsoft-windows-nfs-openrpc_31bf3856ad364e35_6.0.6002.23499_none_e5d352fc618b459a.manifest
File versionNot applicable
File size12,282
Date (UTC)24-Sep-2014
Time (UTC)00:32
PlatformNot applicable