EldoS | Feel safer!

Software components for data protection, secure storage and transfer

problem with FILE_FLAG_NO_BUFFERING

Also by EldoS: MsgConnect
Cross-platform protocol-independent communication framework for building peer-to-peer and client-server applications and middleware components.
#11691
Posted: 11/16/2009 10:07:25
by Joe Portman (Basic support level)
Joined: 05/28/2008
Posts: 21

We have uncovered a situation with some well known client backup software.

We expose our cbfs volume as a share. The client software reads and writes backup files to the share, or rather attempts to.

If we expose a drive letter, they open the files normally and all is well.

If we expose the filesystem as a share, they open all destination files with FILE_FLAG_NO_BUFFERING.

I have verified that when they do this, the CreateFile is never passed through the driver to our cbfs instance.

Using FileMon, I can trace the client program and the CreateFile APPEARS TO SUCCEED, but, the CreateFile call IS NOT PASSED to our CBFS instance.

This is causing a bit of friction with a major client, as they do not want to rewrite their software just to work with ours.

Help.
#11702
Posted: 11/17/2009 04:42:12
by Volodymyr Zinin (EldoS Corp.)

I've checked it but couldn't reproduce - the OnCreate/OnOpen callback is called when a file is being opened with FILE_FLAG_NO_BUFFERING flag. Is the problem reproducible with any CallbackFS samples? If so could you please describe in details how to do it (including the version of Windows you use).
Thanks.
#11720
Posted: 11/17/2009 14:39:23
by Matthew Sutton (Standard support level)
Joined: 09/12/2008
Posts: 7

Vladimir

I can setup a virtual with the software on it so you can test. Please contact me directly on email to put this together.

Thank you

Matthew
matthew@hyblue.com
#11722
Posted: 11/17/2009 15:02:48
by Eugene Mayevski (EldoS Corp.)

We need a reproducible test case or at least the name of the software to test. Most likely this is a problem of the software, which (as I guess) sets some flags besides NO_BUFFERING flag. Virtual machines etc. is not an option - we need to be able to run the software in our conditions first of all. Otherwise we will have to postpone this investigation to after 3.0 release.


Sincerely yours
Eugene Mayevski
#11723
Posted: 11/17/2009 15:04:38
by Matthew Sutton (Standard support level)
Joined: 09/12/2008
Posts: 7

Eugene

Please send me an email address and I will get you setup with the software.

Matthew
#11724
Posted: 11/17/2009 15:05:46
by Eugene Mayevski (EldoS Corp.)

I think I know the reason ... I doubt that network redirector supports NO_BUFFERING and here's why: among other things this flag means that the data is read from the physical device with known block size, and the buffer of "block size" size is used for reading (i.e. you can only read data in chunks of specific size). For network redirector all of the above has no sense. I think here lies the source of the problem. But we still need the name of the software to do certain checks with it.


Sincerely yours
Eugene Mayevski
#11725
Posted: 11/17/2009 15:07:49
by Matthew Sutton (Standard support level)
Joined: 09/12/2008
Posts: 7

Eugene

I think you are exactly correct. This software started writing blocks to tape and has been modifed to write to networks. I will explain this to the customer and see if we can get them to change for us.

I will let you know.

Matthew
#11726
Posted: 11/17/2009 15:14:30
by Eugene Mayevski (EldoS Corp.)

Let's start from the following: does the client software work correctly (with this flag) on a "regular" shared network disk? If it does, then there's probably some request of the client which is not handled in our code and to know this we would need to reproduce the issue under debugger. This is why we need to reproduce the case in our conditions - your system won't let us do deep debugging.


Sincerely yours
Eugene Mayevski
#11727
Posted: 11/17/2009 15:16:38
by Matthew Sutton (Standard support level)
Joined: 09/12/2008
Posts: 7

Yes, existing network shares and UNCs are fully supported by the software, but it fails when attempting to write to a UNC off of our code. The software works correctly on a drive letter share, just not a UNC.

I would prefer to not post all the details of software on the forum so please contact me off the forum and I'll get you setup with the software.

Matthew
#11776
Posted: 11/22/2009 15:31:01
by Matthew Sutton (Standard support level)
Joined: 09/12/2008
Posts: 7

Different question, the software issues a query for a filename ????000.x as a way to test for existing files. We return "No Such File". Is it possible the wildcards are causing a problem with the Eldos driver?
Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.

Reply

Statistics

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