EldoS | Feel safer!

Software components for data protection, secure storage and transfer

MountMedia raises exception

Also by EldoS: SecureBlackbox
200+ components and classes for digital security, signing, encryption and secure networking.
#26190
Posted: 08/22/2013 01:17:46
by Hank Zhang (Basic support level)
Joined: 08/22/2013
Posts: 4

Quote
Vladimir Cherniga wrote:
In attachment you can find a sample project. This simple mounter may come in handy in FUSE_CPP wrapper testing.


===============================================
Hello ,I compile this test code today.
But it failed to generate the .exe file.
I wonder to know why.
And I found a bug in your code of fusecbfs.cpp
in the function of CbFsDeleteFile() ,the second parameter is CbFsFileInfoImpl
when I user the lib ,it will not succeed
#26191
Posted: 08/22/2013 01:22:40
by Eugene Mayevski (EldoS Corp.)

I am not sure that I understand what you were saying. If you have compilation problem, check compiler output.

As for the second parameter, please clarify what "it will not succeed" should mean.


Sincerely yours
Eugene Mayevski
#26192
Posted: 08/22/2013 02:04:44
by Hank Zhang (Basic support level)
Joined: 08/22/2013
Posts: 4

Quote
Eugene Mayevski wrote:
I am not sure that I understand what you were saying. If you have compilation problem, check compiler output.

As for the second parameter, please clarify what "it will not succeed" should mean.


1.I user this command.

fuse_mapper.exe d:\ x:

but it return the error code "588"
#26193
Posted: 08/22/2013 02:11:32
by Vladimir Cherniga (EldoS Corp.)

Quote
And I found a bug in your code of fusecbfs.cpp
in the function of CbFsDeleteFile() ,the second parameter is CbFsFileInfoImpl

You are right, it should be specified as
Code
void CbFsDeleteFile(CallbackFileSystem* Sender, CbFsFileInfo* FileInfo)
#26194
Posted: 08/22/2013 02:23:21
by Eugene Mayevski (EldoS Corp.)

Did you try to search for Win32 error code with this value? That's "Driver not installed". It suggests that you must install the driver (please refer to the help file for details on driver installation) before you can use anything else.


Sincerely yours
Eugene Mayevski
#26195
Posted: 08/22/2013 02:36:39
by Hank Zhang (Basic support level)
Joined: 08/22/2013
Posts: 4

Quote
Eugene Mayevski wrote:
Did you try to search for Win32 error code with this value? That's "Driver not installed". It suggests that you must install the driver (please refer to the help file for details on driver installation) before you can use anything else.


I am sure the driver has installed already.I can mount volume with your sample in CPP\Mapper

Can you give me a fuse sample that can mount the windows volume successfully?
We want to test if your FUSE interface can meet our demand.

Thanks.
#26202
Posted: 08/22/2013 10:57:46
by Vladimir Cherniga (EldoS Corp.)

Quote
Can you give me a fuse sample that can mount the windows volume successfully?

You can use the attached sample project as base for your code.


[ Download ]
#26272
Posted: 09/03/2013 01:27:18
by Hank Zhang (Basic support level)
Joined: 08/22/2013
Posts: 4

Quote
Eugene Mayevski wrote:
Did you try to search for Win32 error code with this value? That's "Driver not installed". It suggests that you must install the driver (please refer to the help file for details on driver installation) before you can use anything else.

============================================
I implement our code in your FUSE interface.BUT,It has a problem.We cannot copy file that larger than 2G,because your callback function parameter in write() is "off_t",which type is long.
SO ,I want to know if I want to change it the uint64_t,have we change a lot for it?

Thank you.
#26274
Posted: 09/03/2013 01:43:48
by Eugene Mayevski (EldoS Corp.)

1. We have updated FUSE interface and reworked the sample in the latest build. Please check them.

2. Write operations almost always happen in chunks much smaller than 2Gb. Write callback doesn't pass you the whole file - only a small chunk is usually passed.
The largest chunk we encountered was 800 Mb passed by some strange graphic editing software. While in theory it is possible that some application will pass a chunk larger than 2Gb, CBFS has a special property (that limits the size of the chunk passed to the callback. So you don't have to worry about type of the variable. The property is not available in FUSE interface at the moment - we'll add it in the next build.


Sincerely yours
Eugene Mayevski
#26275
Posted: 09/03/2013 08:55:48
by mzgcz (Basic support level)
Joined: 09/03/2013
Posts: 8

Yes, I also find the problem when I operate the DVD iso files. You know, DVD iso file always bigger than 2GB.

Read and write interfaces are like this:
Code
(*fuse_read) (const char *, char *, size_t, off_t, struct fuse_file_info *)
(*fuse_write) (const char *, const char *, size_t, off_t, struct fuse_file_info *)

and the type off_t is define as long,so when file larger than 2^31-1,the var will be overflow.

so as the fuse_getattr function:
Code
(*fuse_getattr) (const char *, struct stat *)

because the stat struct can't operate files larger than 2GB.

I think it's a good idea to support larger files operate.
Also by EldoS: CallbackRegistry
A component to monitor and control Windows registry access and create virtual registry keys.

Reply

Statistics

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