ReiserFS-Plugin Problem

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
Zak
Junior Member
Junior Member
Posts: 7
Joined: 2005-08-10, 13:10 UTC

ReiserFS-Plugin Problem

Post by *Zak »

Hi,

I think there is a bug in the implementation of the ReiserFS-Plugin. Try this:

1. Download FlatOut v1.1-Patch in Linux:
http://support.empireinteractive.com/default.aspx?MID=60568495217F&PID=7D566116-1A81-42F8-8205-AC06654C2756
...and safe it directly on the lowest directory of a ReiserFS-Partition (e.g. /mnt/reiserfs/)

2. Then create directory 'test' and copy the file there (/mnt/reiserfs/test/).

3. Boot Windows (in my case W2k), access the Partition and copy the two files to your Windows-Filesystem.

Result: The file in /mnt/reiserfs/ is copied without errors, but the file in /mnt/reiserfs/test/ is
3.956.736 Bytes instead of 3.954.665 Bytes.

I think it has something to do with the length of the path+filename, but I am not sure.
Using the original Tool from the ReiserFS-Code (http://www.p-nand-q.com/download/rfstool.html) I discovered no problems, so the bug must be within the Total Commander-Plugin.

I hope, the problem will somehow be solved. Tell me, if you need more information.
Thanks!

Zak
User avatar
tbeu
Power Member
Power Member
Posts: 1354
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Unfortunately I don't currently have access to a ReiserFS partition - can anyone with access to a Reiser partition check this in a debugger, please?
Author of Total Commander
https://www.ghisler.com
Zak
Junior Member
Junior Member
Posts: 7
Joined: 2005-08-10, 13:10 UTC

Post by *Zak »

Hi,

I reinstalled and repartitioned my complete system last week. The problem is still there (this time using Windows Longhorn beta1).

If you tell me how to check this with a debugger I will try.

Thanks
Stefan
User avatar
Gorbush
Junior Member
Junior Member
Posts: 33
Joined: 2003-02-05, 12:09 UTC
Location: Kharkiv, Ukraine

Post by *Gorbush »

Yes, this bug is no the rfsdll.dll in function ReiserGetFile - it get's file by blocks, so - file size in border of block size.
I tried to fix this, but it needs to recompile this dll, but i have no VisualC...

2Ghisler:
in file ex2fs i fix this for Ext2 partitions by code
case err of
0:
begin
result:=FS_FILE_OK;
AssignFile(fll, LocalName);
Seek(fll, INode.Info.i_size);
Rewrite(fll);
CloseFile(fll);
end;
ERROR_FILE_EXISTS:result:=FS_FILE_EXISTS;
ERROR_OPERATION_ABORTED:result:=FS_FILE_USERABORT;
ERROR_WRITE_FAULT:result:=FS_FILE_WRITEERROR;

in funciton FsGetFile
but for reiserfs partition i cannot do such - caouse i don't know real file size for file - rfsdll.dll doesn't export function to get it...
May be a solution to change ReiserGetFile function to return real file size and fix file to this size...
Puljajev Sergej aka Gorbush
[Russian Total Commander Plugring Team]
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks, I will post a beta link here soon.
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Please get the following replacement rfsdll.dll for testing:

https://plugins.ghisler.com/beta/rfsdll.zip

It does work here (I managed to create a Reiser partition under Vmware with Linux and then use it under Vmware with Windows!

Please note that the time stamp is shown incorrectly in the file lists, but copied correctly! I will fix this in the Delphi part of the plugin once I know that the rfsdll.dll works correctly now!

2Gorbush
Do you get this problem also with Ext2 partitions?
Author of Total Commander
https://www.ghisler.com
User avatar
Gorbush
Junior Member
Junior Member
Posts: 33
Joined: 2003-02-05, 12:09 UTC
Location: Kharkiv, Ukraine

Post by *Gorbush »

ghisler(Author) wrote: 2Gorbush
Do you get this problem also with Ext2 partitions?
I tried to solve this problem with reiserFS - and, as i remember - i had this problem with EXT2 (about year ago - i don't have ext2 for now), so desided to fix it , even if there is no problem for now :)
Puljajev Sergej aka Gorbush
[Russian Total Commander Plugring Team]
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

So could anyone test this problem with a Reiser file system, please?
Author of Total Commander
https://www.ghisler.com
User avatar
Gorbush
Junior Member
Junior Member
Posts: 33
Joined: 2003-02-05, 12:09 UTC
Location: Kharkiv, Ukraine

Post by *Gorbush »

I tested - it works good with fixed rfsdll.dll
Puljajev Sergej aka Gorbush
[Russian Total Commander Plugring Team]
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

2Gorbush
Thanks for testing! I will prepare an official release then.
Author of Total Commander
https://www.ghisler.com
Zak
Junior Member
Junior Member
Posts: 7
Joined: 2005-08-10, 13:10 UTC

Post by *Zak »

Hi!

Seems to work here too. Great work, thanks for the effort!


Stefan
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50390
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Now I have put together a new release. Before I link to it on my homepage, I would like to ask you to test it:

Plugin:
https://plugins.ghisler.com/beta/ex2fs.zip

Sources:
https://plugins.ghisler.com/beta/ex2fs_src.zip

I have now included the changes made by Gorbush to handle file systems with different encodings. According to his readme, it can be used like this:
The codepages can be obtained from Apache project
http://www.apache.org
Russian codepage translation KOI8 -> CP1251 are in project.
To activate codepage just copy it in tables subfolder and
write it's filename in ex2fs.ini file like this:
XLATfile=tables\<codepage>
Then - set variable EnableXLAT to true like this:
EnableXLAT=true
It would be nice if anyone could try this! I can't because my Linux file systems all seem to be using Latin1.
Author of Total Commander
https://www.ghisler.com
Post Reply