Pretty sane, from a quick read-through, although most of it seems to not
be about general issue, as about "let's emulate others correctly on their
filesystems" (ie the rules are different for NTFS and HFS+, little enough
discussion about "native" preferred logic).
However, while they don't consider normalization on file creates to be the
"preferred solution", they *do* consider filename comparison with
canonical equivalence to be that. Which means that you can get the same
odd problems:
fd = open(filename, O_CREAT);
+
readdir()
can actually return a *different* filename than the one we just created,
if it already existed in the directory under the different normalization.
So it's basically "normalization-preserving, but normalization-ignoring"
(the same way many filesystems are case-preserving, but case-ignoring). I
don't much like it either, but as with case, the "preserving" behaviour is
probably the nicer one.
I'd guess the problems are harder to trigger in practice, but you can
still get some pretty hairy cases. It's just painful when readdir() and
your own file creation doesn't have any obvious 1:1 relationship.
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html