История изменений
Исправление Deleted, (текущая версия) :
Докладываю. Нашёл, где в ядре (точнее в модуле ext4) проверка на несовместимые features и «занопил» грубо говоря.
Здесь: ~/linux-4.19.58/fs/ext4/super.c
static int ext4_feature_set_ok(struct super_block *sb, int readonly)
{
/*
if (ext4_has_unknown_ext4_incompat_features(sb)) {
... */...
Пересобрал. И получил доступ из 4.19 к тому разделу, с casefold. Даже на запись. Даже с кириллицей в названии. Самый большой косяк, когда загружаешься обратно в 5.2 (уже с честным casefold) - оно игнорирует файл в регистрах и всегда отдает первый попавшийся какой подошел по case insensitive.
типа:
# ls
testfile.txt TestFile.TXT тестфайл.txt
# cat testfile.txt
111
# cat TestFile.TXT
111 /* <--- тут должно быть 222, как записало 4.19 */
# echo "444FFF" >> testfileF.txt
# cat TestfileF.txt
444FFF
# cat TESTfileF.txt
444FFF
Ладно, запись с косяками. Но на чтение-то вроде вполне можно монтировать. Т.е. - таки не техническое ограничение, похоже.
Исходная версия Deleted, :
Докладываю. Нашёл, где в ядре (точнее в модуле ext4) проверка на несовместимые features и «занопил» грубо говоря.
Здесь: ~/linux-4.19.58/fs/ext4/super.c
static int ext4_feature_set_ok(struct super_block *sb, int readonly)
{
/*
if (ext4_has_unknown_ext4_incompat_features(sb)) {
... */...
Пересобрал. И получил доступ из 4.19 к тому разделу, с casefold. Даже на запись. Даже с кириллицей в названии. Самый большой косяк, когда загружаешься обратно в 5.2 (уже с честным casefold) - оно игнорирует файл в регистрах и всегда отдает первый попавшийся какой подошел по case insensitive.
типа:
# ls
testfile.txt TestFile.TXT тестфайл.txt
# cat testfile.txt
111
# cat TestFile.txt
111 /* <--- тут должно быть 222, как записало 4.19 */
# echo "444FFF" >> testfileF.txt
# cat TestfileF.txt
444FFF
# cat TESTfileF.txt
444FFF
Ладно, запись с косяками. Но на чтение-то вроде вполне можно монтировать. Т.е. - таки не техническое ограничение, похоже.