EldoS | Feel safer!

Software components for data protection, secure storage and transfer

CBFS Create File issues

Posted: 03/12/2015 09:59:14
by Paolo Manili (Basic support level)
Joined: 02/23/2015
Posts: 16

Hi everyone,

sorry to post again at such short notice, but we are encountering an issue with FileCreation operations inside the CBFS volume.

Our architecture is as follows:
A Local DB contains all the information regarding the folder and file structure to CBFS Callbacks. The files are not exposed directly as streams/handles, we copy the data into and out of the provided buffers ourselves while filling in the other callback parameters as necessary.

We have had no problem copying and moving files into and out of the CBFS volume, however we are facing a curious error during File Creation operations.

We receive the usual batch of callbacks, including the OnCreateFile, OnSetFileAttributes and OnSetEndOfFile) call ,
after that we receive a CanFileBeDeleted and a Delete callback, and only after those Windows tries to write to the file which fails as we have just deleted it.

We do not understand why windows (Well, notepad++ word and regular notepad at least) decide to delete, and then to write.

This causes an error on our database, as of course, we've just deleted the File.

Are we missing something? should other callbacks also Create the file it it does not exist?

Sincerely yours,
Paolo Manili
Posted: 03/12/2015 11:19:38
by Paolo Manili (Basic support level)
Joined: 02/23/2015
Posts: 16

Ok, I apologize, we found the cause to be a bug with our caching policy which would cause the File to still be retrieved in GetFileInfo and OpenFile calls after the DeleteFile event had gone through, causing windows to think there was no reason to create the file again before writing.

Paolo Manili



Topic viewed 1533 times

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


Back to top

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

Got it!