Hi,
I’m currently developing a virtual disk driver that read/write data on a
distributed ram structure over the network. With two computers where the
driver is installed we can see the same view of the disk content (with
explorer for example). When I modify the disk content on one computer A, I
can’t see any changes on computer B. If I unload and reload the diskt driver
on computer A, the last changes are lost and I see same view of disk content
as computer B (I think that the filesystem driver on B, rewrite the files
entries on the disk with his cache). Instead of unloading/reloading the disk
driver on A, if I do the same with disk driver on B I can see the changes
(same view of the disk as on computer A).
This is a big problem, is it possible to force the filesystem to
refresh/update is cache for reflecting the new changes on the disk ? (Any
solution that can allow the disk driver to invalidate the filesystem cache
forcing a refresh ?)
Sorry for my bad english… This is my first try with driver devs…
Thanks in advance
Ibnou
You have described the only way, namely unmounting and remounting the drive
(on both systems since your example is a fluke that may not work). You
need a custom file system or file system filter to make this work, this is
not a small task (i.e. an order of magnitude or more than a virtual disk
driver).
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
“ibnou toure” wrote in message news:xxxxx@ntdev…
> Hi,
> I’m currently developing a virtual disk driver that read/write data on a
> distributed ram structure over the network. With two computers where the
> driver is installed we can see the same view of the disk content (with
> explorer for example). When I modify the disk content on one computer A, I
> can’t see any changes on computer B. If I unload and reload the diskt
> driver
> on computer A, the last changes are lost and I see same view of disk
> content
> as computer B (I think that the filesystem driver on B, rewrite the files
> entries on the disk with his cache). Instead of unloading/reloading the
> disk
> driver on A, if I do the same with disk driver on B I can see the changes
> (same view of the disk as on computer A).
> This is a big problem, is it possible to force the filesystem to
> refresh/update is cache for reflecting the new changes on the disk ? (Any
> solution that can allow the disk driver to invalidate the filesystem cache
> forcing a refresh ?)
>
> Sorry for my bad english… This is my first try with driver devs…
>
> Thanks in advance
> Ibnou
>
For Windows embedded filesystems, this is unmount/remount only.
Your task is called “clustering”, and you need the clustering FS, not only
the clustering disk driver. So, this is a hard task, by far harder then you
suspected before.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
“ibnou toure” wrote in message news:xxxxx@ntdev…
> Hi,
> I’m currently developing a virtual disk driver that read/write data on a
> distributed ram structure over the network. With two computers where the
> driver is installed we can see the same view of the disk content (with
> explorer for example). When I modify the disk content on one computer A, I
> can’t see any changes on computer B. If I unload and reload the diskt driver
> on computer A, the last changes are lost and I see same view of disk content
> as computer B (I think that the filesystem driver on B, rewrite the files
> entries on the disk with his cache). Instead of unloading/reloading the disk
> driver on A, if I do the same with disk driver on B I can see the changes
> (same view of the disk as on computer A).
> This is a big problem, is it possible to force the filesystem to
> refresh/update is cache for reflecting the new changes on the disk ? (Any
> solution that can allow the disk driver to invalidate the filesystem cache
> forcing a refresh ?)
>
> Sorry for my bad english… This is my first try with driver devs…
>
> Thanks in advance
> Ibnou
>
woow!!
bad news, lol.
Thanks a lot for your reply ;-); i’m searching anyway.
2007/12/4, Maxim S. Shatskih :
>
> For Windows embedded filesystems, this is unmount/remount only.
>
> Your task is called “clustering”, and you need the clustering FS, not
> only
> the clustering disk driver. So, this is a hard task, by far harder then
> you
> suspected before.
>
> –
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> “ibnou toure” wrote in message news:xxxxx@ntdev…
> > Hi,
> > I’m currently developing a virtual disk driver that read/write data on a
> > distributed ram structure over the network. With two computers where the
> > driver is installed we can see the same view of the disk content (with
> > explorer for example). When I modify the disk content on one computer A,
> I
> > can’t see any changes on computer B. If I unload and reload the diskt
> driver
> > on computer A, the last changes are lost and I see same view of disk
> content
> > as computer B (I think that the filesystem driver on B, rewrite the
> files
> > entries on the disk with his cache). Instead of unloading/reloading the
> disk
> > driver on A, if I do the same with disk driver on B I can see the
> changes
> > (same view of the disk as on computer A).
> > This is a big problem, is it possible to force the filesystem to
> > refresh/update is cache for reflecting the new changes on the disk ?
> (Any
> > solution that can allow the disk driver to invalidate the filesystem
> cache
> > forcing a refresh ?)
> >
> > Sorry for my bad english… This is my first try with driver devs…
> >
> > Thanks in advance
> > Ibnou
> >
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
You cannot solve your problem at the logical block level (at least not with
the NTFS or FAT layered at the top of you). What
you need is either clustered file system driver (take a look at the
www.dataplow.com) or distributed lock manager (take a look
at the MetaSAN from Tiger Technology, URL is www.tiger-technology.com). Both
this products will work with your disk driver.
Or you can write their replacement. But none of these tasks is easy. Also
you may investigate some time into RE-ing of the
Zetera software stack (www.zetera.com). They have own UDP-based protocol and
special set of filter drivers making what
you want possible. Good luck J
Anton
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of ibnou toure
Sent: Tuesday, December 04, 2007 7:46 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] forcing filesystem to update/refresh his cache ?
Hi,
I’m currently developing a virtual disk driver that read/write data on a
distributed ram structure over the network. With two computers where the
driver is installed we can see the same view of the disk content (with
explorer for example). When I modify the disk content on one computer A, I
can’t see any changes on computer B. If I unload and reload the diskt driver
on computer A, the last changes are lost and I see same view of disk content
as computer B (I think that the filesystem driver on B, rewrite the files
entries on the disk with his cache). Instead of unloading/reloading the disk
driver on A, if I do the same with disk driver on B I can see the changes
(same view of the disk as on computer A).
This is a big problem, is it possible to force the filesystem to
refresh/update is cache for reflecting the new changes on the disk ? (Any
solution that can allow the disk driver to invalidate the filesystem cache
forcing a refresh ?)
Sorry for my bad english… This is my first try with driver devs…
Thanks in advance
Ibnou
— NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
Thanks Anton, I’ll search this way 
Ibnou
2007/12/5, Anton A. Kolomyeytsev :
>
> You cannot solve your problem at the logical block level (at least not
> with the NTFS or FAT layered at the top of you). What
>
> you need is either clustered file system driver (take a look at the
> www.dataplow.com) or distributed lock manager (take a look
>
> at the MetaSAN from Tiger Technology, URL is www.tiger-technology.com).
> Both this products will work with your disk driver.
>
> Or you can write their replacement. But none of these tasks is easy? Also
> you may investigate some time into RE-ing of the
>
> Zetera software stack (www.zetera.com). They have own UDP-based protocol
> and special set of filter drivers making what
>
> you want possible. Good luck J
>
>
>
> Anton
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *ibnou toure
> Sent: Tuesday, December 04, 2007 7:46 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] forcing filesystem to update/refresh his cache ?
>
>
>
> Hi,
> I’m currently developing a virtual disk driver that read/write data on a
> distributed ram structure over the network. With two computers where the
> driver is installed we can see the same view of the disk content (with
> explorer for example). When I modify the disk content on one computer A, I
> can’t see any changes on computer B. If I unload and reload the diskt driver
> on computer A, the last changes are lost and I see same view of disk content
> as computer B (I think that the filesystem driver on B, rewrite the files
> entries on the disk with his cache). Instead of unloading/reloading the disk
> driver on A, if I do the same with disk driver on B I can see the changes
> (same view of the disk as on computer A).
> This is a big problem, is it possible to force the filesystem to
> refresh/update is cache for reflecting the new changes on the disk ? (Any
> solution that can allow the disk driver to invalidate the filesystem cache
> forcing a refresh ?)
>
> Sorry for my bad english… This is my first try with driver devs…
>
> Thanks in advance
> Ibnou
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>