TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Bug reports will be moved here when the described bug has been fixed

Moderators: white, sheep, Hacker, Stefan2

User avatar
Usher
Power Member
Power Member
Posts: 1255
Joined: 2011-03-11, 10:11 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *Usher »

2Ohytos
Have you tried to change any other attribute or timestamp? Have you checked alternate data streams or other attributes which aren't shown by default (sparse etc.)?
Edit: Yes, I'm aware, it's ExFAT rather than NTFS. I just have no such drive or documentation to provide available attribute names.
Last edited by Usher on 2021-01-12, 18:21 UTC, edited 1 time in total.
Regards from Poland
Andrzej P. Wozniak
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3729
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *sqa_wizard »

Ohytos wrote: I noticed that at least all non-visible directories have an archive attribute on them, and removing it makes those folders visible in TC
Nice finding!
Have you tried to set the archive attribute again? Are the directories still visible at TC?

May setting an attribute some way "repairs" the entry ...
#5767 Personal license
Ohytos
Junior Member
Junior Member
Posts: 2
Joined: 2021-01-12, 07:42 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *Ohytos »

Still, I don't understand why TC doesn't see those dirs, while Windows does...
Have you tried to set the archive attribute again? Are the directories still visible at TC?
Yes, after that the directory is still visible
Have you tried to change any other attribute or timestamp?
I tried to get some additional info. The directory [tmp] was not visible in TC, and [Movies] was

Code: Select all

PS I:\> Get-ItemProperty -Path I:\tmp | Format-list -Property * -Force

PSPath              : Microsoft.PowerShell.Core\FileSystem::I:\tmp
PSParentPath        : Microsoft.PowerShell.Core\FileSystem::I:\
PSChildName         : tmp
PSDrive             : I
PSProvider          : Microsoft.PowerShell.Core\FileSystem
Mode                : da---
ModeWithoutHardLink : da---
BaseName            : tmp
Target              :
LinkType            :
Parent              : I:\
Root                : I:\
FullName            : I:\tmp
Extension           :
Name                : tmp
Exists              : True
CreationTime        : 6 Dec 2020 14:26:04
CreationTimeUtc     : 6 Dec 2020 13:26:04
LastAccessTime      : 11 Dec 2020 20:17:16
LastAccessTimeUtc   : 11 Dec 2020 19:17:16
LastWriteTime       : 6 Dec 2020 14:29:41
LastWriteTimeUtc    : 6 Dec 2020 13:29:41
Attributes          : 56


PS I:\> Get-ItemProperty -Path I:\Movies | Format-list -Property * -Force

PSPath              : Microsoft.PowerShell.Core\FileSystem::I:\Movies
PSParentPath        : Microsoft.PowerShell.Core\FileSystem::I:\
PSChildName         : Movies
PSDrive             : I
PSProvider          : Microsoft.PowerShell.Core\FileSystem
Mode                : da---
ModeWithoutHardLink : da---
BaseName            : Movies
Target              :
LinkType            :
Parent              : I:\
Root                : I:\
FullName            : I:\Movies
Extension           :
Name                : Movies
Exists              : True
CreationTime        : 11 Jan 2021 22:05:02
CreationTimeUtc     : 11 Jan 2021 21:05:02
LastAccessTime      : 11 Jan 2021 22:05:02
LastAccessTimeUtc   : 11 Jan 2021 21:05:02
LastWriteTime       : 11 Jan 2021 22:05:02
LastWriteTimeUtc    : 11 Jan 2021 21:05:02
Attributes          : Directory, Archive
And then I removed Archive attribute from the [tmp] (and it appeared in TC as well):

Code: Select all

PS I:\> Get-ItemProperty -Path I:\tmp | Format-list -Property * -Force

PSPath              : Microsoft.PowerShell.Core\FileSystem::I:\tmp
PSParentPath        : Microsoft.PowerShell.Core\FileSystem::I:\
PSChildName         : tmp
PSDrive             : I
PSProvider          : Microsoft.PowerShell.Core\FileSystem
Mode                : d----
ModeWithoutHardLink : d----
BaseName            : tmp
Target              :
LinkType            :
Parent              : I:\
Root                : I:\
FullName            : I:\tmp
Extension           :
Name                : tmp
Exists              : True
CreationTime        : 6 Dec 2020 14:26:04
CreationTimeUtc     : 6 Dec 2020 13:26:04
LastAccessTime      : 11 Dec 2020 20:17:16
LastAccessTimeUtc   : 11 Dec 2020 19:17:16
LastWriteTime       : 6 Dec 2020 14:29:41
LastWriteTimeUtc    : 6 Dec 2020 13:29:41
Attributes          : Directory
Can it be the cause?
User avatar
Dalai
Power Member
Power Member
Posts: 7837
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *Dalai »

What is "Attributes = 56" supposed to mean? Looks like PowerShell isn't able to properly show the attributes.

Let's go through it. 56 (0x38) = 32 (0x20) + 16 (0x10) + 8 (0x8). According to the File Attribute constants:
0x20 = FILE_ATTRIBUTE_ARCHIVE
0x10 = FILE_ATTRIBUTE_DIRECTORY
0x8 = ???? This attribute isn't listed on that site.
When we go to another MS site (for VBA programming) we see that it means

Code: Select all

Volume 	8 	Disk drive volume label. Attribute is read-only.
Does this attribute make sense on a file?

[EDIT]
Found something.
https://radsoft.net/security/20100202,00.shtml says
FILE_ATTRIBUTE_VOLUME
Not listed by Microsoft but it's there. Indicates a directory entry without corresponding file, used only to denote the name of a hard drive volume. Was used to 'hack' the long file name system of Windows 95.
No idea why any software would set this attribute. Nonetheless it's curious that TC doesn't show such directories.
[/EDIT]

Regards
Dalai
Last edited by Dalai on 2021-01-12, 21:46 UTC, edited 1 time in total.
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups - Download-Mirror
umbra
Power Member
Power Member
Posts: 848
Joined: 2012-01-14, 20:41 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *umbra »

If I'm reading it right, the "I:\tmp" folder had attributes 56 (Directory (16) + Archive (32) + Volume label (8)). The Volume label attribute is a leftover from a very early DOS era, later repurposed for LonfFileName support. Either way, it should not be set on normal folders. If it is, something is probably wrong. Changing any of the remaining attributes probably fixes it (Windows silently removes the attribute).

Considering that googling "exFAT" and "MacOS" returns all kind of weird error reports, my guess is that it is just another bug in the Apple's implementation of exFAT.
Windows 7 Pro x64, Windows 10 Pro x64
umbra
Power Member
Power Member
Posts: 848
Joined: 2012-01-14, 20:41 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *umbra »

Looks like Dalai was a bit faster :)
Windows 7 Pro x64, Windows 10 Pro x64
umbra
Power Member
Power Member
Posts: 848
Joined: 2012-01-14, 20:41 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *umbra »

Dalai wrote: 2021-01-12, 21:36 UTC Nonetheless it's curious that TC doesn't show such directories.
No real directory should have such attribute. It marks folders that are used to store file system information. Something like NTFS Metafiles. We don't see those in TC either.
It's probably filtered out by the API that TC uses to enumerate files.
Windows 7 Pro x64, Windows 10 Pro x64
User avatar
MVV
Power Member
Power Member
Posts: 8639
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *MVV »

But it is quite strange that Explorer DOES show these files (while it doesn't show pure metafiles)...
User avatar
elgonzo
Power Member
Power Member
Posts: 840
Joined: 2013-09-04, 14:07 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *elgonzo »

MVV wrote: 2021-01-13, 05:10 UTC But it is quite strange that Explorer DOES show these files (while it doesn't show pure metafiles)...
I kinda guess it TC itself that is filtering based on the 0x08 attribute. Consider that Explorer just runs in the OS it is being shipped with, in this case Win10. TC's code base still has to support running in a Win95 environment, which is where the 0x08 attribute hack apparently mattered.

Perhaps the volume being formatted as exFAT might play a role with regard to Explorer not trying to evaluate the 0x08 attribute. exFAT, released in 2006 long after Win9x became obsolete, might not demand the 0x08 attribute hack to store a volume label (i haven't looked into the gory details of the exFAT file system structure, though). It could be that Explorer is (unexpectedly) smart enough to recognize the file system type, and thus decides to not try interpreting 0x08 as a volume label flag. (It would be interesting to see how Explorer behaves if one would mount FAT volumes, and perhaps FAT32 too, that feature directory entries with the 0x08 attribute incorrectly set.)

It's all just speculation, of course...
Windows 7 Pro x64 SP1
LeshaRB
Junior Member
Junior Member
Posts: 2
Joined: 2021-01-13, 18:14 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *LeshaRB »

I have the some problems =(
Previously, everything was fine. How can I clear the attributes of a folder including subfolders?
User avatar
MISTERAMD
Junior Member
Junior Member
Posts: 29
Joined: 2011-05-01, 16:15 UTC
Location: Gent, Belgium
Contact:

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *MISTERAMD »

I found this thread. Kinda weird to read all this, as I have a USB drive from 32GB big, that I use to transport files from my Windows 10 (laptop) to my Mac OS X 10.5 Leopard desktop and vice versa. I never had this issue before. TC shows me all the files and weird folders MacOSX creates and I can always open every file and folder on my MacOSX (when I stick the USB in, double click on the icon) and on my Windows 10 Total Commander 9.51 version.

I have never updated the MacOSX to any higher version, because I have no time to search for replacements for certain music creator and video creator apps on Mac (because I don't use those often). I think that there is my problem that I haven't had this issue before.
Last edited by MISTERAMD on 2021-01-14, 12:01 UTC, edited 1 time in total.
User avatar
Usher
Power Member
Power Member
Posts: 1255
Joined: 2011-03-11, 10:11 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *Usher »

2MISTERAMD
The problem is probably only with ExFAT formatted USB sticks (by default - 64 GB and larger). Read more carefully, please…
BTW. Some of my older devices don't recognize ExFAT, though they read NTFS formatted sticks.
Regards from Poland
Andrzej P. Wozniak
littlepaul476
New Member
New Member
Posts: 1
Joined: 2021-01-14, 12:11 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *littlepaul476 »

I'm also affected by this bug.
My findings based on https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification
1) Volume label is the very first directory entry in root directory on ExFAT with special EntryType
2) Bit 3 (0x8 value) of FileAttribute is defined as Reserved on ExFAT
So it shouldn't matter what the value of that bit is on ExFAT. I would put 0 there as Microsoft. I don't know why Apple puts 1 there, but I don't think it's a bug. Total Commander should ignore this bit on ExFAT because it's definitely not Volume Label.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 41720
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *ghisler(Author) »

I have checked my code - TC actively filters out files with the "volume label" attribute, because they are not valid files, at least on Windows.
I will allow them in the next version and hope that this doesn't have a negative side effect.
Author of Total Commander
http://www.ghisler.com
User avatar
elgonzo
Power Member
Power Member
Posts: 840
Joined: 2013-09-04, 14:07 UTC

Re: TC 9.51 does not show folders created by macOS on exFAT USB flash drive

Post by *elgonzo »

ghisler(Author) wrote: 2021-01-14, 16:22 UTC I have checked my code - TC actively filters out files with the "volume label" attribute, because they are not valid files, at least on Windows.
I will allow them in the next version and hope that this doesn't have a negative side effect.
I would suggest to only do this depending on the underlying file system type, or make this configurable by an INI parameter. Otherwise, all those guys that still have to use FAT/FAT32 volumes for whatever reason might get bummed out if you disable the "volume label" attribute check for FAT/FAT32 file systems.
Windows 7 Pro x64 SP1
Post Reply