Tuesday, August 03, 2010

Whole FTP server hang when upload a file

Customer has a scheduled task to upload a picture to FTP server at fixed time every day. The whole server will hang for several minutes as long as the task was executing. During this period, there was no response to keyboard and mouse. The performance counters were blank as well during that period.
Look at the kernel dumps, we found server is busy to create an 8.3 file. Here is the edited call stack.
ChildEBP RetAddr
b5715114 8084c8b4 nt!KeReleaseQueuedSpinLockFromDpcLevel+0x19
b571513c 80936da4 nt!CcGetVirtualAddress+0x104
b5715160 80936f6a nt!CcMapDataCommon+0x4a
b57151bc f71b7f2d nt!CcMapData+0x55
b57151dc f71ba9d5 Ntfs!NtfsMapStream+0x4b
b571520c f71bb050 Ntfs!ReadIndexBuffer+0x8f
b571523c f71b6429 Ntfs!FindFirstIndexEntry+0x196
b5715344 f71a326c Ntfs!NtfsFindIndexEntry+0x48
b5715410 f71a1c7f Ntfs!NtfsAddDosOnlyName+0x137
b571544c f71b74af Ntfs!NtfsAddLink+0xac
b5715648 f71bba04 Ntfs!NtfsCreateNewFile+0x847
b571586c f71b8ef8 Ntfs!NtfsCommonCreate+0x1226
b5715970 80840153 Ntfs!NtfsFsdCreate+0x17d
b5715984 f72af458 nt!IofCallDriver+0x45
b57159b0 80840153 fltmgr!FltpCreate+0xe4
b57159c4 b8d05948 nt!IofCallDriver+0x45
b5715d30 7c96860c nt!KiFastCallEntry+0xfc

1: kd> !object 882d3448
Object: 882d3448  Type: (89b72730) File
   ObjectHeader: 882d3430 (old version)
   HandleCount: 0  PointerCount: 1
   Directory Object: 00000000  Name: \FAX\IMAGE_STATION\BPR_UPLOAD\200905290948131.tif {HarddiskVolume3}
The reason is there are tons of files under \FAX\IMAGE_STATION\BPR_UPLOAD folder with the similar format of naming. So NTFS will spend a lot of time to find an appropriate 8.3 name for the new file.
The solution is disable 8.3 naming.
How to Disable Automatic Short File Name Generation
http://support.microsoft.com/kb/210638
Read more: AsiaTech: Learning by Practice