EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Disk is not formatted error when using CallbackFS

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.
#3287
Posted: 07/05/2007 04:18:23
by Dan Cooper (Basic support level)
Joined: 06/27/2007
Posts: 125

I am using the latest release of CallbackFS for .NET 1.1 and have come across an issue which I can't seem to solve.

When I double-click on my drive Windows tells me the disk is not formatted.

I notice that CloseEnumeration is called a few times before EnumerateDirectory is called, is this correct?

When EnumerateDirectory is called, the context handle is set but the next 2 calls to EnumerateDirectory contains a context handle of zero.

Then CloseEnumeration is called on the 3 open Enumeration context handles so I know the handles are being set and passed back but these never get passed back to EnumerateDirectory.

I cannot try the sample code as it is .NET 2.0 specific and will not work when compiled against 1.1 but my flow seems the same as the sample.

I cannot find any information on the expected sequence of events required to display a directory listing, if someone could provide one that may help in resolving this issue

Thanks.
#3289
Posted: 07/05/2007 08:40:57
by Eugene Mayevski (EldoS Corp.)

We are not ignoring your question in the helpdesk, but it needs investigation. The problem seems to be specific to .NET 1.1 assembly that you use and no other users do this so far. So we'll continue in HelpDesk.


Sincerely yours
Eugene Mayevski
#3291
Posted: 07/05/2007 08:43:26
by Dan Cooper (Basic support level)
Joined: 06/27/2007
Posts: 125

OK, thanks, I posted here in case someone else had seen the prob.

If there is anything else I can try please let me know. I have added lots of logging to the app and have found that the EnumerationContext is not being passed back to the EnumerateDirectory event after being set. This is the only thing I can see that would cause an issue.

Please let me know if there are any further tests I can try.

Thanks
#3621
Posted: 08/26/2007 01:36:15
by Brad O'Hearne (Standard support level)
Joined: 03/16/2007
Posts: 12

Dan,

I am experiencing the exact same problem, but with the newer .NET 2.0 assembly. This problem happens specifically after I create a new file, open it, and then save changes to it. This is the sequence of events that I've identified to reproduce the problem. I also notice that there are several calls to the OnEnumerateDirectory callback as well just before the problem occurs.

Let me know if you've had any progress.

Thanks,

Brad
#3646
Posted: 08/29/2007 02:08:04
by Eugene Mayevski (EldoS Corp.)

If the problem is reproducible with the latest build of allback File System, please submit a test case which we can run and see what's wrong there.


Sincerely yours
Eugene Mayevski
#3652
Posted: 08/29/2007 08:53:06
by Brad O'Hearne (Standard support level)
Joined: 03/16/2007
Posts: 12

I'll see what I can do -- it is going to take me a bit of time to do this, as I basically have to pare down our actual product to deliver a test case. Otherwise, I'd have to turn over our entire product, which I cannot do. In my case, I can reproduce this 100% of the time.

The interesting thing about it is that the code that is failing isn't substantially different from code that has worked for months now. I'm wondering if while the API is implemented properly, that there aren't assumptions being made by the API which aren't apparent either from the method signatures or the documentation. For instance, I encountered something really strange when I decided to abadon all setting / getting of fileHandleContext pointers, as my implementation didn't need them -- it broke the implementation, as if the API was making processing decisions based on whether these pointer values had been set or not. According to the API doc, which is really scant in this area, the fileHandleContexts are user data, and it should make no difference whether they are set or not. When I restored the setting of the pointers, even though I wasn't using them in my code, the chaos seemed to disappear. Any state-based assumptions the API is using to determine its processing internally need to be documented and apparent to the implementor, as they are not now. I have wondered if something similar to this is causing this problem. For instance, under what conditions would a working file system go from a state where it is working properly, to suddenly reporting that "The disk is not formatted"? There must be some state in the API which results in that -- what is it? If we had more information about how that message results, it might show the way to the problem, as I have zero errors in my code, there are no exceptions thrown in my code at runtime when this problem occurs, and stepping through program execution in the debugger follows the proper execution paths and sets expected state properly on my end (to my knowledge).

So what is the condition that causes the API to report that "the disk is not formatted?"

Thanks,

Brad
#6467
Posted: 06/02/2008 12:38:26
by Mike Gile (Basic support level)
Joined: 06/02/2008
Posts: 4

Hi all,

I do not see any resolution to this problem posted in this thread. Has anyone found a solution to this error? I am seeing the same problem with CallbackFS SDK 2.0 when used from C# (.NET 2.0).

Regards,
Mike
#6469
Posted: 06/02/2008 13:01:58
by Eugene Mayevski (EldoS Corp.)

Do the sample applications expose the problem?


Sincerely yours
Eugene Mayevski
#6470
Posted: 06/02/2008 13:08:36
by Mike Gile (Basic support level)
Joined: 06/02/2008
Posts: 4

No, the sample application works, and I am using the same code for my test, with one difference: After mounting the drive, I do not try to write a file to the newly mounted disk. The sample C# application (Mounter_VS) immediately creates a directory on the virtual disk and writes two files.

In my application, using the Eldos sample event handler code to handle EnumerateDirectory, the disk is reported as not formatted. I am able to handle other events successfully, such as GetVolumeSize.

As brado77 pointed out, it would be easier to debug if you could tell us how and when the CallbackFS will raise a not formatted error to Windows.

Thanks,
Mike
#6471
Posted: 06/02/2008 13:35:32
by Eugene Mayevski (EldoS Corp.)

There's nothing to debug on your side: this is driver developers' question.

And Callback File System doesn't report it's own errors. CBFS is a proxy between the IFS subsystem of Windows and your code. What you get is Windows error, not CBFS one.


Sincerely yours
Eugene Mayevski
Also by EldoS: BizCrypto
Components for BizTalk® and SQL Server® Integration Services that let you securely store and transfer information in your business automation solutions.

Reply

Statistics

Topic viewed 23216 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!