Почему уровень фрагментации настолько велик в файлах, содержащих другие файловые системы?

ответ don_crissti в комментариях, который указывает на две ошибки в объявлении startTimes и в использовании ${var[@]}, который нужно использовать с seq выходом

startTimes=( $(seq 300 10 330) )

for startTime in "${startTimes[@]}";
do
        endTime=$(( ${startTime}+10 ))
        echo ${endTime} > /tmp/111test 
done

echo "Last endTime: "${endTime}
8
02.06.2016, 14:22
1 ответ

Похоже, это была ошибка в mke2fs, из-за которой использовалось fallocate(fd, PUNCH_HOLE,...)вместо fallocate(fd, DISCARD_ZERO,...)при обнулении пространства в таблицах инодов (, даже когда использовалось -E nodiscard).

Я отправил отчет об ошибке в вышестоящий linux-ext4@vger.kernel.orgсписок рассылки после локальной проверки этого поведения и получил исправление в течение часа, тема:

e2fprogs: block zero/discard cleanups

Они должны быть включены в -выпуск e2fsprogs 1.45 и , вероятно, в отладочный выпуск 1.44.x. Если вы хотите, чтобы они были в выпуске поставщика e2fsprogs, я бы порекомендовал исправить + собрать ваши e2fsprogs, чтобы убедиться, что это работает для вас, сообщить об успехе в linux-ext4, чтобы исправления появились раньше, а затем отправить отчет об ошибке в выбранный вами дистрибутив, чтобы они включали исправления основной ветки разработки в свои выпуски.

3
27.01.2020, 20:13

Теги

Похожие вопросы