How to avoid "Delayed Write Failed" on W2K3 SP1 machine.

Hello,

I am trying to figure out why system is logging following event log on the first node when I failover service group to second node.(NOTE: It is not MSCS cluster). It happens only when second node calls IOCTL_STORAGE_RESERVE in less the 30 seconds just after releasing disk from first node. If second node calls the IOCTL_STORAGE_RESERVE after 30 seconds then no event logs generated on the first node.

I do following steps for dismounting Basic disk.

  1. Dismount Volume
    -flush buffer
    -lock volume
    -dismmount volume ( FSCTL_DISMOUNT_VOLUME)
    -Unlock volume (FSCTL_UNLOCK_VOLUME)
  • Close volume
  1. Relese disk from the node( removing exclusive lock for the node)

Have I missed anything? What is going wrong?

Event logs on the node

  1. Event Type: Warning
    Event Source: Ftdisk
    Event ID: 57
    Description: The system failed to flush data to the transaction log. Corruption may occur.

  2. Event Type: Information
    Event Source: Application Popup
    Event ID: 26
    Description: Application popup: Windows - Delayed Write Failed : Windows was unable to save all the data for the file \?\Volume{97586949-1d60-11db-971d-806e6f6e6963}. 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. Event Type: Warning
    Event Source: Ntfs
    Event ID: 50
    Description: {Delayed Write Failed} Windows was unable to save all the data for the file . 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.

Thanks in advance
Nitin

To eliminate obvious:
Do you check return code from "-lock volume" IOCTL call, if volume
locking was successful?
WBR primoz

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: 6. september 2006 15:40
To: Windows File Systems Devs Interest List
Subject: [ntfsd] How to avoid "Delayed Write Failed" on W2K3 SP1
machine.

Hello,

I am trying to figure out why system is logging following event log on
the first node when I failover service group to second node.(NOTE: It is
not MSCS cluster). It happens only when second node calls
IOCTL_STORAGE_RESERVE in less the 30 seconds just after releasing disk
from first node. If second node calls the IOCTL_STORAGE_RESERVE after 30
seconds then no event logs generated on the first node.

I do following steps for dismounting Basic disk.

  1. Dismount Volume
    -flush buffer
    -lock volume
    -dismmount volume ( FSCTL_DISMOUNT_VOLUME)
    -Unlock volume (FSCTL_UNLOCK_VOLUME)
  • Close volume
  1. Relese disk from the node( removing exclusive lock for the node)

Have I missed anything? What is going wrong?

Event logs on the node

  1. Event Type: Warning
    Event Source: Ftdisk
    Event ID: 57
    Description: The system failed to flush data to the transaction log.
    Corruption may occur.

  2. Event Type: Information
    Event Source: Application Popup
    Event ID: 26
    Description: Application popup: Windows - Delayed Write Failed : Windows
    was unable to save all the data for the file
    \?\Volume{97586949-1d60-11db-971d-806e6f6e6963}. 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. Event Type: Warning
    Event Source: Ntfs
    Event ID: 50
    Description: {Delayed Write Failed} Windows was unable to save all the
    data for the file . 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.

Thanks in advance
Nitin


Questions? First check the IFS FAQ at

You are currently subscribed to ntfsd as: xxxxx@hermes.si
To unsubscribe send a blank email to xxxxx@lists.osr.com

> I am trying to figure out why system is logging following event log on the
first

node when I failover service group to second node.(NOTE: It is not MSCS
cluster).

Ask your clustering software vendor.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

Thanks for reply.
Yes, every IOCTL calls are succeeded - LOCK, DISMOUNT, UNLOCK… all calls.

We have our own clustering machanism where we reseve disk(exclusive lock) for one node so other node can not see it. After reseving disk we mount the volume. Similarly while failover, we first dismount and release the disk and send control to other node to take reservation.