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

Make volume labels distinguishable from files #4

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

unterwulf
Copy link
Contributor

So they could be easily filtered out by a parser if needed.

(This is required to make a fatcat extfs helper for Midnight Commander.)

So they could be easily filtered out by a parser if needed.

(This is required to make a fatcat extfs helper for Midnight
Commander.)
@Gregwar
Copy link
Owner

Gregwar commented Sep 23, 2019

Hello,
Disk label is in the fat headers, can you provide examples of command to generate an image with such volume file ?

@unterwulf
Copy link
Contributor Author

unterwulf commented Sep 24, 2019

In fact FAT has two places to store disk label.

You are talking about Partition Volume Label:
https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#EBPB_OFS_20h
The commit is about directory volume label:
https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#DIR_OFS_0Bh

IIRC, any MS-DOS format command would "generate" an image having both labels. If you happen to have an image of original MS-DOS 3.30 or 4.01 distribution floppy you can list it with fatcat and then mount it via loopback and you'll see that Linux will have one entry shorter listing of the root directory than fatcat. (Of course MS-DOS itself or Windows won't list it as a file as well.)

The problem this commit fixes is that on ancient images fatcat shows directory volume labels as fake zero-sized files.

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

Successfully merging this pull request may close these issues.

2 participants