Hi Ted, This is the v7 of the case-insensitive support. It includes the design changes we discussed, unicode 12.0 support, and the Linus' request about the way we store the utf8data.h file. * We no longer generate utf8data.h during build time. Instead, it is added to the tree with instructions on how to generate it. * Integrate your modifications to README.utf8data. * Directories without the Casefold inode attribute are no longer normalized. * Update to Unicode 12.0 * Fixes 0day/sparse issues reported against the last version. * Remove sign-off from Olaf Weber on patch 01 modified by me. I was thinking about this since the last series. I cannot assume Olaf's signoff on patch 01/10, since it changed too much, so make sure he keeps the credit and copyright for the script, but drop his signoff on the certificate of origin. * i didn't commented ou t the normalization bits because it is being tested by utf8-selftest, so I'm not sure if we should remove everything already. Also, utf8data.h will not get much smaller without it. I suspect the patches adding/modifying utf8data.h might bounce in the mailing list. If that is the case, you can find the series at: https://gitlab.collabora.com/krisman/linux.git -b ext4-ci-directory-no-nls_v7 You can also find the e2fsprogs latest fixes, that I am proposing on a different thread, and which is required to support the current patchset at: https://gitlab.collabora.com/krisman/e2fsprogs.git -b casefold-feature As usual, I am testing this with xfstests: https://gitlab.collabora.com/krisman/xfstests.git -b casefold-test (generic/484 and generic/485 in that repository) Please, let me know what you think. Gabriel Krisman Bertazi (8): unicode: Introduce UTF-8 character database unicode: Implement higher level API for string handling unicode: Introduce test module for normalized utf8 implementation unicode: Update unicode database unicode version 12.0.0 MAINTAINERS: Add Unicode subsystem entry ext4: Include encoding information in the superblock ext4: Support case-insensitive file name lookups docs: ext4.rst: Document case-insensitive directories Olaf Weber (2): unicode: Introduce code for UTF-8 normalization unicode: reduce the size of utf8data[] Documentation/admin-guide/ext4.rst | 38 + MAINTAINERS | 6 + fs/Kconfig | 1 + fs/Makefile | 1 + fs/ext4/dir.c | 48 + fs/ext4/ext4.h | 42 +- fs/ext4/hash.c | 34 +- fs/ext4/ialloc.c | 2 +- fs/ext4/inline.c | 2 +- fs/ext4/inode.c | 4 +- fs/ext4/ioctl.c | 18 + fs/ext4/namei.c | 107 +- fs/ext4/super.c | 91 + fs/unicode/Kconfig | 13 + fs/unicode/Makefile | 19 + fs/unicode/README.utf8data | 57 + fs/unicode/utf8-core.c | 187 ++ fs/unicode/utf8-norm.c | 799 ++++++ fs/unicode/utf8-selftest.c | 320 +++ fs/unicode/utf8data.h | 4106 ++++++++++++++++++++++++++++ fs/unicode/utf8n.h | 117 + include/linux/fs.h | 2 + include/linux/unicode.h | 30 + scripts/Makefile | 1 + scripts/mkutf8data.c | 3418 +++++++++++++++++++++++ 25 files changed, 9441 insertions(+), 22 deletions(-) create mode 100644 fs/unicode/Kconfig create mode 100644 fs/unicode/Makefile create mode 100644 fs/unicode/README.utf8data create mode 100644 fs/unicode/utf8-core.c create mode 100644 fs/unicode/utf8-norm.c create mode 100644 fs/unicode/utf8-selftest.c create mode 100644 fs/unicode/utf8data.h create mode 100644 fs/unicode/utf8n.h create mode 100644 include/linux/unicode.h create mode 100644 scripts/mkutf8data.c -- 2.20.1