|
From: Alexander Grigoriev on 7 May 2008 10:11 Bad idea. You cannot share the same filesystem image safely. It will get corrupted very fast. "ND" <ND(a)discussions.microsoft.com> wrote in message news:1AFDEA00-7E8C-4CB6-A9C2-0C33B3A2F5EE(a)microsoft.com... > > Hi Maxim Shantskih, > > Thanks for your reply. > > We are creating virtual disk within a file and mounts it as a real disk. > > Normaly only one user can mount that file as disk, and use it. But now we > want multiple user can mount this file in network, as real disk in there > own PC, and use it.Like NFS. > > We did this by giving FILE_SHARE_WRITE access to file ,while file creation > using ZwCreateFile. > With this multiple user(multiple pcs) can mount this file as virtual > disk.And when user updates this virtual volume,the disk file is updated. > Now problem is ,when mutiple users trying to update from different pcs I > could not maintain offset of the diskfile.So the data lost. > > I could know user operation through IRP_MJ_XXX.But how i can share this > file > among driver instances. > > > we planned to lock this file for synchronization.or is there any other way > to achieve this. > > Waiting for your reply. > Thanks > > "Maxim S. Shatskih" wrote: > >> > How many IRPs will be sent for file copy operation. >> >> Nobody knows for sure, this depends, for instance, on what way was used >> for >> file copying. >> >> > How i can trace start and end of copy operation. >> >> You cannot. Reading the source and writing the destination are 2 >> absolutely >> unrelated processes to the kernel, the kernel does not know this is a >> copy. >> >> -- >> Maxim Shatskih, Windows DDK MVP >> StorageCraft Corporation >> maxim(a)storagecraft.com >> http://www.storagecraft.com >> >>
From: Maxim S. Shatskih on 7 May 2008 10:18 > We did this by giving FILE_SHARE_WRITE access to file ,while file creation > using ZwCreateFile. > With this multiple user(multiple pcs) can mount this file as virtual > disk.And when user updates this virtual volume,the disk file is updated. No need in this. The disk device is global for all users, and is only initialized once in Windows. This is also true for your virtual disk, there will be no per-user initialization of it. If you really want to have the disk device (file-disk or any other) updatable simultaneously from several network nodes each running its own filesystem, then sorry, you need a cluster filesystem for this, NTFS cannot do this. So, such a product would shift from block-device-sharing paradigm, with FSD running on each client node, to file-sharing paradigm, with FSD running near to the device. Block-device-sharing technologies like iSCSI really do suffer a lot from inability of simultaneously mounting the same LUN on different nodes with non-clustered commodity FS like NTFS. -- Maxim Shatskih, Windows DDK MVP StorageCraft Corporation maxim(a)storagecraft.com http://www.storagecraft.com
First
|
Prev
|
Pages: 1 2 Prev: punting back to gdi with EngTextOut not working Next: USB-HID device driver |