On Behalf of Sorabh
Hi All,
I am working on a replication file filter driver. I need to make sure that
file timestamps on source and target are same. Timestamp during Create, Set
Attributes, and Set Security are handled properly. For Write, the way I am
doing this is as follows:
-
Trap the Write calls (IRP_NOCACHE)
-
upon the completion from FSD, send my own IRP down to query the basic
information -
build my request and conduct the operation on target
-
complete the original Write IRP to the IO manager
Everything is working fine on NTFS file system. It passed our all stress
tests. The problem I am facing is:
If underlying file system is FAT32, sometimes my Query IRP hangs the system
On Windows 2000 if the FileObject has stream-bit set, querying attributes
bugchecks the system (it was documented in OSR article). So for now I bypass
the operation
Is there any better way of accomplishing the task?
I was thinking, if Paging Write does not result in change in file timestamp
(I don?t know that), may be before sending cleanup IRP down to filesystem I
can query the timestamp, and then use those timestamp for subsequent writes.
Please advise. Any help is really appreciated.
Thanks,
Sorabh