Lazarus

Free Pascal => Unix => Topic started by: Eugene Loza on April 27, 2016, 07:16:19 pm

Title: .fuse_hidden*
Post by: Eugene Loza on April 27, 2016, 07:16:19 pm
When I work in Debian Linux 64 bit I often get relatively large files like .fuse_hidden0000006c00000001 in my project folder. Sometimes about 4-6 of those appear per hour of work. As far as I understand it's file "marked for deletion but still in use" (maybe, those are remains of frozen project binaries compiled and abnormally terminated?). They seem to get automatically deleted on restart, but it does not always works. Moreover, often I have to copy project to USB flash drive to continue programming at work and the folder weights up to 200 Mb instead of 10 if I forget to check against it...
Is there a way to fix it?

Additional info: Lazarus 1.6.0 (I've observed these files on earlier versions too). Debian 64 bit. NTFS file system. Yes, it doesn't seem that such files cause problems at ext3 filesystem, but I need to be dual-boot compatible at home. Project path doesn't have non-ASCII characters or spaces. It doesn't seem that Debian 32 with ext3 filesystem on all drives has this issue.
Title: Re: .fuse_hidden*
Post by: Jonas Maebe on April 28, 2016, 08:47:13 am
This sounds like you are running into a bug in the FUSE file system layer (which is used by your Linux distribution for NTFS support), since such issues do not happen on other file systems.
Title: Re: .fuse_hidden*
Post by: Leledumbo on April 28, 2016, 10:37:33 am
Indeed, that's the "feature" of NTFS implementation (NTFS-3G) in Linux systems. In normal Linux file systems (ext, btrfs, etc.), you can delete files that is currently open, i.e. a program being executed. This mechanism allows you to recompile while debugging a program. This is not possible under NTFS-3G (as a FUSE implementation), hence, the driver copies the currently running file as .fuse_hiddenWXYZABCD and then perform the actual copying, but normal user will notice it as overwriting. They will be deleted upon reboot/shutdown. BUT, if you don't do a graceful shutdown, the driver will lose links of those files and on next boot, they're still hanging around.
Title: Re: .fuse_hidden*
Post by: mig-31 on April 28, 2016, 11:21:59 am
Create a FAT32 partion for your projects and use it for Lazarus for Linux and Windows.
Title: Re: .fuse_hidden*
Post by: Eugene Loza on April 28, 2016, 11:38:37 am
Thank you!
That seems to answer the question completely  :)
TinyPortal © 2005-2018