All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Tso" <tytso@mit.edu>
To: Viacheslav Dubeyko <slava@dubeyko.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	zlang@redhat.com, fstests@vger.kernel.org,
	glaubitz@physik.fu-berlin.de, vdubeyko@coreweave.com,
	linux-fsdevel@vger.kernel.org, frank.li@vivo.com
Subject: Re: [PATCH] xfstests: exclude hfs/hfsplus from generic/339 run
Date: Fri, 11 Sep 2026 10:48:30 -0400	[thread overview]
Message-ID: <aqQR6cujdVg5qCFp@mit.edu> (raw)
In-Reply-To: <f156a3665404751b29fd21d9ee136f2d66d5fe87.camel@dubeyko.com>

On Thu, Sep 10, 2026 at 02:14:08PM -0500, Viacheslav Dubeyko wrote:
> 
> Could we have any generic way to detect that file system could not
> support some Unicode characters?

We do have unicode tables which are optionally compiled in if the file
system requires it.  But those tables are from Unicode 12.1, and the
latest version of Unicode is 17.0.  Most of the new characters added
between Unicode 12.1 and Unicode 17.0 are for dead languages that
archeologists and academics care about, and new Emoji's.  So function
will let you know if a Unicode character was considered valid as of
2019.

You're asking a different question, though which is for hfs/hfsplus,
what character are deemed valid by fsck.hfs, right?  And as far as I
know, there is no way to answer that question in the hfs kernel code.
What you could do is to try creating a filename containing a
particular character, and see if the kernel rejects it.  Ext4 and f2fs
will reject such characters if and only if Unicode strict mode is
enbled.  But that's not going to help for hfs unless you add that
support into the kernel....

					- Ted

P.S.  A problem which we haven't really solved is how to add support
for multiple Unicode versions at the same time.  So if someone
imported Unicode 17.0 into the kernel, ext4 and f2fs really require
Unicode 12.1.  Short of supporting both Unicode tables in the sources,
someone would probably have to figure some mechanism (perhaps using
Agentic Engineering) to collapse the two Unicode tables into one, so
you can answer the question, is a particular Unicode valid in 12.1 vs
17.0, and handling the Unicode canonicalization rules for Unicode 12.1
and 17.0 based on some API.  This is the other reason why no one has
bothered updating Unicode, since it would be tricky.

P.P.S.  There is reason why, over a decade ago, when I was talking to
an internationalization expert at an Internet Engineering Task Force,
late at night, at a bar, the expert said jokingly (and when said
expert was very well lubricated), after reviewing all of the
engineering challeges of getting I18N correct, "It would be easier to
teach them all English."  :-)

Mercifully, we only need to solve a very tiny subset of the I18N
problem in the kernel.  :-)   :-)   :-)

  reply	other threads:[~2026-09-11 14:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-10  0:04 [PATCH] xfstests: exclude hfs/hfsplus from generic/339 run Viacheslav Dubeyko
2026-09-10  9:57 ` Christoph Hellwig
2026-09-10 13:49   ` Theodore Tso
2026-09-10 21:14     ` Viacheslav Dubeyko
2026-09-11 14:48       ` Theodore Tso [this message]
2026-09-10 20:13   ` Viacheslav Dubeyko
2026-09-11  7:09     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aqQR6cujdVg5qCFp@mit.edu \
    --to=tytso@mit.edu \
    --cc=frank.li@vivo.com \
    --cc=fstests@vger.kernel.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=slava@dubeyko.com \
    --cc=vdubeyko@coreweave.com \
    --cc=zlang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.