Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows reporting horribly incorrect file information for new files created on EncFS virtual drive #33

Closed
gh223682 opened this issue May 23, 2016 · 2 comments
Assignees
Milestone

Comments

@gh223682
Copy link

In trying to troubleshoot some other issues with EncFS4Win pre-1.10.1-RC5 on Windows 10, I discovered some other weird behavior where files created on the EncFS virtual drive

are reported to have HUGE 200 petabyte file sizes.

To reproduce, simply create an empty file either through explorer with:

New Item-->Text Document

or from the command-line with the simple command:

% echo > test.txt

Explorer reports that this file has the size 189,658,273,153,025 KB and the epoch as the file creation time.

Furthermore, explorer reports different file sizes depending on whether or not encfs.exe is running in single-threaded or multi-threaded mode.

Without the "-s" option, the file size is reported as:

189,658,273,153,025 KB

With the "-s" option, the file size is reported as:

201,201,266,196,481 KB

Last, encfs.exe seems to crash sometimes when I try to do stuff with this file.

If these problems are caused by Dokany 1.0, perhaps legacy support/builds would be helpful. See Issue #29.

@jetwhiz
Copy link
Owner

jetwhiz commented May 23, 2016

Hi @gh223682,

This is a known issue with Dokany 1.0 (dokan-dev/dokany#234), but will be easy for them to fix and should be working in their next release candidate.

We can temporarily fix this on our end with the following patch to encfs/encfs.cpp:

@@ -227,7 +227,7 @@
 #if defined(fuse_fill_dir_flags)
         if (filler(buf, name.c_str(), &st, 0, 0)) break;
 #else
-        if (filler(buf, name.c_str(), &st, 0)) break;
+        if (filler(buf, name.c_str(), NULL, 0)) break;
 #endif

         name = dt.nextPlaintextName(&fileType, &inode);

I am hoping to release a legacy installer in addition to the normal installer (with Dokany 1.0) starting with 1.10.1-RC5, though (as per issue #29).

@jetwhiz jetwhiz self-assigned this May 23, 2016
@jetwhiz jetwhiz added this to the 1.10.1 milestone May 23, 2016
@jetwhiz
Copy link
Owner

jetwhiz commented May 23, 2016

I have wrapped this patch up in 1.10.1-RC5, since passing a struct stat is not necessary with Dokany

@jetwhiz jetwhiz closed this as completed May 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants