How to Resolve Errors Accessing Drive or Volume: IRPStackSize is Too Small

DATASTOR Shield™ software stores deduplicated data to disk, writing to a volume attached to a system running our software. The volume itself may be unavailable during an 'Add Store' action, or after a store is created during a protection plan run.

You may see one or more of the following symptoms:

  1. From the computer with the local volume in question you are unable to create a new folder or file on the volume. You may open My Computer, click the drive letter of the volume, and try to create a new folder. A dialog box appears 'Unable to create folder 'New Folder'. The system cannot find the file specified.'

  2. From the computer with the local volume in question you may receive a dialog box 'Windows - Delayed Write Failed. Windows was unable to save all the data for the file F:\$Mft. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.'
  3. From a remote computer trying to write to the volume through a network share, mapped drive, or UNC path, the remote computer may receive 'System error 1130 has occurred. Not enough server storage is available to process this command.'
  4. The application log of the computer with the local volume in question may have error 'the IRPStackSize is too small for the server to use a local device.

The symptoms may occur more frequently with USB attached storage, but may occur with other storage devices, as well.

The underlying cause is unrelated to DATASTOR™ software. The IRPStackSize setting may be too low in the registry of the computer with the local volume that is unresponsive. See Microsoft KB http://support.microsoft.com/kb/285089 for more information on how the IRPStackSize setting works.

Follow the steps outlined in the Microsoft KB article: The IRPStackSize parameter specifies the number of stack locations in I/O request packets (IRPs) that are used by Windows 2000 Server, by Windows Server 2003, and by Windows XP. You may have to increase this number for certain transports, for media access control (MAC) drivers, or for file system drivers. Each stack uses 36 bytes of memory for each receive buffer. This value is set in the following registry subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

The default value of the IRPStackSize parameter is 15. The range is from 11 (0xb hexadecimal) through 50 (0x32 hexadecimal). If the subkey is not present, you can use Registry Editor to add the subkey. To do this, follow these steps:

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Click Edit, point to New, and then click DWORD Value.
  4. Type IRPStackSize, and then press ENTER to name the value.Note Type IRPStackSize exactly as it is displayed. The value name is case sensitive.
  5. Click Edit, and then click Modify.
  6. In the Data Value box, type the value that is appropriate for the network, and then click OK.

If the problem persists after you complete this procedure, increase the value of IRPStackSize even more.   A good IRPStackSize setting seems to 19 (Decimal):

MORE INFORMATION

See Microsoft KB http://support.microsoft.com/kb/285089 and http://support.microsoft.com/kb/198386 for more information on how the IRPStackSize setting works. A discussion of other system configuration settings that can impact copying files into a store may be found at the following technet blog: http://blogs.technet.com/perfguru/archive/2009/02/19/file-copy-fails-with-the-error-insufficient-system-resources.aspx