EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Performance issue during files/folders deletion

Also by EldoS: RawDisk
Access locked and protected files in Windows, read and write disks and partitions and more.
#28540
Posted: 02/25/2014 07:32:37
by Volodymyr Zinin (EldoS Corp.)

In the next build it will be also possible to return the ERROR_FILE_NOT_FOUND(2) error that causes to remove information about the file/directory from the meta-data cache and notify the system about the file deletion. I.e. the behavior will be similar to NotifyDirectoryChange(fanRemoved) call.
But it's still better to use meta-data cache as well as the NotifyDirectoryChange method to notify CBFS about any changes (file adding/changing/modifying) occurred in the "backend" storage.
#28543
Posted: 02/25/2014 08:03:05
by William Levra-Juillet (Priority Standard support level)
Joined: 09/05/2013
Posts: 49

Cool, because I do return ERROR_FILE_NOT_FOUND(2) in some callbacks when the problem arises, but the system (or cbfs?) seemed to ignore it, and still thinks that the file/folder exists.

I'll see if I can call NotifyDirectoryChange.
Is it safe to call it from within a callback, and set Wait parameter to false?

Thx!
#28544
Posted: 02/25/2014 08:09:48
by Volodymyr Zinin (EldoS Corp.)

Quote
William Levra-Juillet wrote:
Cool, because I do return ERROR_FILE_NOT_FOUND(2) in some callbacks when the problem arises

It will work only for the OnOpen callback. From the other callbacks such error is just to be returned as is to the originator of the request.

Quote
William Levra-Juillet wrote:
I'll see if I can call NotifyDirectoryChange. Is it safe to call it from within a callback, and set Wait parameter to false?

Yes.
#28555
Posted: 02/25/2014 10:10:16
by William Levra-Juillet (Priority Standard support level)
Joined: 09/05/2013
Posts: 49

Ok, I added the call to NotifyDirectoryChange from within the "OpenFile or Directory" callback.
It seems to work very well! Thx, I can now use the metadata cache!

I have a last quick question.
I'd like to use ProcessMonitor to track calls to my file system.
But when the drive is mapped as a network drive:
AddMountingPoint("O:;COMP_NAME;FSNAME", CBFS_SYMLINK_NETWORK, 0);
Nothing show up in procmon :(

Am I missing something? Do you have a trick in procmon?
Thx for the great help!
#28557
Posted: 02/25/2014 10:42:02
by Volodymyr Zinin (EldoS Corp.)

The network disks can be accessed via drive letter as well as UNC path. Try to remove all the filters, mark even in the ProcMon menu "Filter"->"Enable advanced output", and access some file (for example open it in Explorer). Then try to find I/O operations by the file name (by the use Ctrl-F) and then set necessary filters (for example by right clicking on a log entry, on its different parts).
Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages

Reply

Statistics

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