Re: Using FUSE as an VFS
Posted: Mon Mar 29, 2021 4:08 pm
I did. It's a 16GB Kingston card, behaving severely erratic, being ext4 formatted and miraculously getting healed by the SD card formatter, getting back to the specified format. But it's bzt and the topic of SD card file system is one of his obsessions, he won't listen to or see any arguments. I posted here, several times, the quotes from the specification, where it is very clearly stated - FAT is mandatory but he keeps his <???>. Ignoring him would be the best approach.Didn't zaval report having exactly this kind of issue? I'm sure I've seen at least one other report of an SD card corrupting files only when formatted with ext4, but I can't remember where I found it or what I was searching for.
Document, named "Part 2, File System Specification", it's not available as part of of the "simplified" version, but it is a part of the specification what is clearly seen in the Chapter 1. General Description, Figure 1-1: SD Specifications Documentation Structure of the part 1 of the specification. This specifation (p. 2) has Table 1-1: File System Type, under which, there is a text:
and the key words explanation added for avoiding uncertainty about if it is mandatory.That is, all Standard Capacity SD Memory Cards whose capacity is 2048MB or less shall use FAT12 /
FAT16 file system, and never use the other file system. Similarly, all High Capacity SD Memory Cards
shall use FAT32 file system, and never use the other file system. And all Extended Capacity SD Memory
Cards shall use exFAT file system, and never use the other file system. This includes the prohibition of
partial format of SD Memory Card. For example, 8GB High Capacity SD Memory Card should not be
formatted as 2GB card with FAT12 / FAT16 file system. In this case, whole area of 8GB should be
formatted with FAT32 file system.
What else could be said? bzt, in your universe, is there Part 2, File System Specification part? if so, read it, stop making yourself an arrogant laughingstock.Key Words
• May: Indicates flexibility of choice with no implied recommendation or requirement.
• Shall: Indicates a mandatory requirement. Designers shall implement such mandatory
requirements to ensure interchangeability and to claim conformance with the specification.
• Should: Indicates a strong recommendation but not a mandatory requirement. Designers should
give strong consideration to such recommendations, but there is still a choice in
implementation.
You are quoting the speed class specification and it really says, that only the standardly formatted cards will expose these behaviors, because it's "4.13.2.7 Measurement Conditions and Requirements of the Speed Class for SDXC". That is: without complying, you won't get these numbers. Jeez, it's not "yes, bzt, you can use whatever you want". But of course, screw such technicalties as context if you are obsessed to prove your delusion, right?bzt wrote: Nope, you just don't want to read. Even spoken of in the "simplified" spec. I've already did quote it, several times actually... In the simplified SD specificationPay good attention on the wording: it does not say other file system's can't be used, it says "the following is true if exFAT is being used".Code: Select all
4.13.2.7.3 Requirements of SD File System This specification can be applied only to the SD file system formatted card defined by the File System Specification Version 3.00.
Of course, you can put incompatibe FS and partitioning scheme on the SD card and it might work. The mentioned card has been working for some time before going nuts. Of course, you can overclock the SD card and it might work. Despite the spec says "only 50Hz in legacy modes (pre UHS-I)". Rpi users do overclock. So what? It doesn't mean, that it doesn't cause card damage, or speeding up card wear out. Internal controller definitely expects standard specified format and it's not just FATs, there are more further specifications about what exactly parameters should be used. The fact, that many cards keep working being f&cked up with incompatible formats, just means, the internal FW resorts to some "worst" scenario and tries to handle it anyway, skipping loads of wear leveling technics or optimizations. Just as that "Others/Unknown" for FILE_FORMAT_GRP and FILE_FORMAT in CSD. It's there for the sake of completeness. Would be better if the spec told the controller just to return some "bad format" response to the screwed up card, forcing this way everybody to comply with standard and not invent square blinking wheels. bzt was pointing so hard to the CSD fields, but omitted the line below the Table 15-5, describing them. maybe because that line says:
And because the File System Specification clearly states the mandatory status of FATs, as shown in the quote above? There is no a single line in the part 2, something like "you can use other formats if CSD's FILE_FORMAT_GRP.FILE_FORMAT bits set to 0.3 and it will work or work the optimal way". It's apparently an "undefined" case and card manufacturer is free to make their own decision as of how the card should react to that. Who would want to rely on that? Moreover, p. 2 specifies exactly MBR and only 1 partition, so of all CSD file format bit field values, only 0.0 (Hard disk-like file system with partition table) are valid ones. And those bits are "writable once" btw.A more detailed description is given in the File System Specification
All commercial OSs do use exactly these specified FSs. Only linux deviates, but it's just a clear incompliance. Did bzt measure, how many Rpi users have been experiencing card malfunction and sped up wear out and how their numbers correlate with such for normal users, using standard FSs? So who is here "fake", bzt? you see only what you want to see, your labeling people with that "fake" line in this light shows you yet once an arrogant person, whom it is better off to just not pay attention to.