EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Long time deadlock during format procedure

Also by EldoS: Solid File System
A virtual file system that offers a feature-rich storage for application documents and data with built-in compression and encryption.
#11893
Posted: 12/09/2009 16:52:05
by Lemon Yang (Standard support level)
Joined: 11/24/2009
Posts: 48

I created a disk with "FileDisk" sample, the size is about 3G, and then format it from the windows OS disk utility. I found for the 1st time format, the CBDisk has a long time delay, about 1 minute without any callback events, but if I format it again, it's very quickly.

I also create a disk 20 G in my application, the format delay is very long, I wait for 5 minutes and didn't finish the format operation and finally cancel the operation.

I used the trial license under WINXP virtual machine. is this a limitation of trial license? do you have more suggestions?
#11896
Posted: 12/10/2009 02:21:30
by Volodymyr Zinin (EldoS Corp.)

What type of CallbackDisk API (i.e. C++, Delphi, or .NET) are you using? And please specify in details how do you perform the format (what "windows OS disk utility" is, name of a file system used to format, etc)?
Thanks.
#11901
Posted: 12/10/2009 03:37:53
by Lemon Yang (Standard support level)
Joined: 11/24/2009
Posts: 48

I use the VS2008 VC++ API and sample,I format the disk by right clicking the disk letter and select "Format" from the menu. and filse system format is "NTFS", no matter "Quick Format" or not.
#11903
Posted: 12/10/2009 10:20:49
by Volodymyr Zinin (EldoS Corp.)

I have reproduced the problem. I used a 8Gb file-container under VMware virtual machine. The problem occurs in the system API WriteFile call from the OnWrite callback. This call is stuck for a quite long time (several minutes) when it's first time asked to write a sector somewhere at the end of the file. Perhaps it's virtual machine or NTFS code that causes such a long write operation.
#11904
Posted: 12/10/2009 10:37:53
by Eugene Mayevski (EldoS Corp.)

On VMWare, if the backend virtual disk (the one VMWare shows as an HDD) is resizable, it could be that it was just not allocated before writing. Writing to the end of the disk requires resizing of the virtual disk's container.

This is similar to what happens to SolFS when you change it's size forcefully.


Sincerely yours
Eugene Mayevski
#11905
Posted: 12/10/2009 23:18:32
by Lemon Yang (Standard support level)
Joined: 11/24/2009
Posts: 48

Have you tested it in a non-VM Virtual machine? is there no such problem in a real machine?

I think even there is resizable problem in in VM disk, but if you create a 8G disk and then delete it, after that you can create 4G likely disk again, thee is also such problem, under this situation, there should not have resizable problem from VM disk.
#11907
Posted: 12/11/2009 01:23:15
by Eugene Mayevski (EldoS Corp.)

Have you tested it on real system, not on virtual machine? You see, different virtual software can have it's own narrow places, and we target first of all physical devices. If the issue is specific to some particular virtualization software, then that's it, which should be fixed (or some workaround should be added).


Sincerely yours
Eugene Mayevski
#11919
Posted: 12/11/2009 20:38:56
by Lemon Yang (Standard support level)
Joined: 11/24/2009
Posts: 48

Yes, I tested on on real syste with "FileDisk" sample, I created a 4G disk and it took about 3 minutes to finish quick format, and I quick format it again, it took less than 10 seconds and it took about 10 seconds to perform a non-quick format. i think it's easy to reproduce it.
#11920
Posted: 12/12/2009 08:00:21
by Eugene Mayevski (EldoS Corp.)

But again, what is your backend storage? Is it some file on the disk? If it is, and you just write the data to the file on the disk, resizing the disk to 4Gb does take time. Have you pre-created the backend file of this size *before* formatting? Use CreateFile/SetEndOfFile/CloseHandle functions of Windows API to pre-create the storage file.


Sincerely yours
Eugene Mayevski
#11926
Posted: 12/14/2009 01:28:16
by Lemon Yang (Standard support level)
Joined: 11/24/2009
Posts: 48

I think I've clarified that is the "FileDisk" sample in your installation package.

yes, it's pre-created with "SetEndOfFile". you can check the code of that sample in your package. why not do a simple testing to verify it?
Also by EldoS: CallbackFilter
A component to monitor and control disk activity, track file and directory operations (create, read, write, rename etc.), alter file data, encrypt files, create virtual files.

Reply

Statistics

Topic viewed 11633 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!